Goblin's Diary

バイクで鈴鹿サーキットを走ってます。色々書いています。

POP before SMTPを使う。

会社の後輩が、メールサービスの無いプロバイダ(BB.excite)に加入したとのことで、自分のサーバーにメールアカウントを作ってあげた。
「送信は自分のプロバイダのを使ってね。」
と言っておいたが、どうやらPOPアカウントが無いと送信できない。
こちらでも調べたら、POP before SMTPなので送信できないことになっていた。
仕方ないので、自分のサーバーにもPOP before SMTPを導入して、外部からのリレーを許可することにした。
簡単に出来そうになく感じてちょっと気が重かったが、やってみると意外とすんなり行った。
以下はその手順。

参考にしたのは
http://www.deer-n-horse.jp/linux/tips/postfix.html


debian sargeでMTAはpostfixの場合。

apt-get install drac
apt-get install qpopper-drac

*普通はdracを指定するとqpopper-dracも一緒に入る。

/etc/postfix/main.cf
の最後に以下を追加。

smtpd_recipient_restrictions =
        permit_mynetworks
        check_client_access btree:/var/lib/drac/dracd
        check_relay_domains

その後

/etc/init.d/postfix reload

を実行で完了。


と思ったら、受信すると
Failed to create /var/spool/pop/.ユーザ名.pop with uid **, gid ** Change permissions.
というメッセージで受信できなくなってしまった。
ちょいと調べると、
http://www.t-base.ne.jp/~akira/diary/?200506b&to=200506144#200506144
が見つかる。

chgrp mail /var/spool/pop
chmod 2775 /var/spool/pop

しないといかんそうで、qpopper-dracの不具合らしい。

これで本当に完了。
一応、不正中継できないことを
http://www.nanet.co.jp/rlytest/relaytest.html
などで確認しましょう。(もちろん家は大丈夫でした。)



許可の有効時間は、
/etc/init.d/drac
を編集。

#!/bin/sh -e
# /etc/init.d/drac
# 2002-02-26, v0.0.1, Noèl Köthe, noel@debian.org

DAEMON=/usr/sbin/rpc.dracd
OPTIONS="-i -e 10 /var/lib/drac/dracd.db"  ←ここの"-e"の後の数字で決まる。(単位は分)

デフォルトは30でちょっと長過ぎ、10にした。

おっと、設定を有効にするには
/etc/init.d/drac restart
が必要です。

確認するには、
ps ax | grep drac
として
     /usr/sbin/rpc.dracd -i -e 10 /var/lib/drac/dracd.db
と言う風に -e 10 となっていればOK。


さすがdebian!すっげー簡単でした。