imapext風SMTP-AUTH patch for netqmail-1.05

qmailにもSMTP-AUTHパッチがある。でもそれ用パスワードファイルを また作るなんてやだ。しかも他のユーザの分も。imapextは個人ごとに ~/.apopで管理しているのになあぁ.....

じゃそれを使おう

てことで、構想5〜6年、実装1〜2日。やっとできた。 ついでだから ~/.qmail-ext, virtualdomains, users/assign にも完ぺきに対応してみた(つもり)。(imapextは「まだ」 users/assign には対応していない)

はいここ
netqmail SMTP-AUTH with qmapop schema

インストール手順の概略

  1. netqmail-1.05にパッチを当てる。

    さきに http://members.elysium.pl/brush/qmail-smtpd-auth/ のパッチを当てて、そのつぎに上記ページのパッチを当てる。 ただし、サブミッションポートでSMTP-AUTH専用のqmail-smtpdを 起動する場合は設定に注意する。下記参照。

  2. cmd5apoppをインストールする。

    上記ページにパッケージがあるのでmakeしてインストール。

  3. qmail-smtpd起動スクリプトを書き換えて再起動する。

    qmail-smtpdの起動引数にメイルサーバ名と cmd5apoppw のコマンド名と /usr/bin/true の3つを追加する。

サブミッションポート(587)で起動する場合

SMTP-AUTHつきのsmtpdは、既存の25番ポートとのものとは独立させた 方がよい。そのために、conf-qmail/var/qmail/auth と書き換えてから

make setup check

して、まずは/var/qmail/authにフルインストール。 ただし、独自に要るものは

だけである。それ以外は元々ある/var/qmailからのsymlinkにする。 以下のようにする。

cd /var/qmail/auth
mv bin/qmail-smtpd .
rm -rf */
ln -s ../bin .
mkdir control
cd control
ln -s ../../control/* .
rm me rcpthosts

で、meファイルは何か存在しないそれっぽい名前にし、 rcpthostsファイルは絶対に何も受け取らないようにでたらめな文字列を書き込 む。

echo auth.example.com > me
echo detarame > rcpthosts

rcpthostsがでたらめでも大丈夫。SMTP-AUTHで認証されれば どこにでも配送できるように動作する。逆に言えば、認証されないときは たとえローカル宛であっても配送されてはいけないのでそういう 設定にしておく。

サブミッションポートでのsmtpdは /var/qmail/auth/qmail-smtpd を使う(binの下は /var/qmail/bin/qmail-smtpd へのsymlinkだから)。

テスタ募集

です。インストール手引き書くのが面倒になったので、 分からないところあったら教えて下さい。書き足します。


叱咤激励感想ツッコミはゲストブック

Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]