サブミッションポート専用のqmail-smtpdを作る
昨日から今日にかけてクライアントから「メール送信が出来ない」と問い合わせが殺到した。プロバイダーがOP25B(Outbound Port 25 Blocking)を実施したためだと判明。
MacOS + Postfixでの設定は「Outbound Port 25 Blocking対策をMac OS X 10.4 tigerで設定」に書いたが今回は
FreeBSD + qmail + qmail-submission + vpopmailという設定。
1. 既存のqmailには手を加えずSubmission(サブミッション)ポート専用のqmail-smtpdを作成
2. 送信認証はpop before smtp、smtp-authで行う
3. smtp-authはvpopmailアカウントで認証
ソースファイルを取ってくる。
# cd /usr/local/src/distfiles
# fetch http://cr.yp.to/software/qmail-1.03.tar.gz
# tar xvfz distfiles/qmail-1.03.tar.gz
# mv qmail-1.03 qmail-1.03-submission
後でわかるようにqmail-1.03-submissionへリネーム
パッチファイルと取ってくる。
# cd patches/
# fetch http://cyberam.dip.jp/linux_server/mail/qmail-date-localtime.patch
# fetch http://members.elysium.pl/brush/qmail-smtpd-auth/dist/qmail-smtpd-auth-0.31.tar.gz
# fetch http://www.qmail.org/qmail-smtpd-relay-reject
# fetch http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch
# fetch http://www.aripollak.com/pmwiki/uploads/Main/netqmail-1.05-09-msp.patch.txt
qmail-smtpd-auth-0.31.tar.gzを展開し中身をqmailのソースディレクトリにコピー
# tar zxvf qmail-smtpd-auth-0.31.tar.gz
# cd qmail-smtpd-auth-0.31
# cp auth.patch /usr/local/src/qmail-1.03-submission/
# cp base64* /usr/local/src/qmail-1.03-submission/
パッチをあてる。
# cd qmail-1.03-submission
patch < auth.patch
patch -p1 < ../patches/qmail-date-localtime.patch
patch -p1 < ../patches/qmail-smtpd-relay-reject
patch -p1 < ../patches/qmail-1.03.errno.patch
patch -p1 < ../patches/netqmail-1.05-09-msp.patch
FreeBSDのportsでqmailをインストール済みの場合「nofiles」ではなく
「qnofiles」というグループが作成されるのでそのままでは
「nofilesというグループがない」とエラーが出るのでconf-groupsのファイルを書き換える。
#cp conf-groups conf-groups.org
# ee conf-groups
qmail
nofiles
のところを
qmail
qnofiles
に書き換え。
それからMake
# make
既存のqmailはそのままにしたいので「make setup check」は行わない。
コンパイル後submisson port専用のqmail-smtpdができる。
それをqmailのbinディレクトリにコピー。
#cp -i /usr/local/src/qmail-1.03-submission/qmail-smtpd /var/qmail/bin/qmail-smtpd-submission
smtp-authのためにvchkpwのパーミッションを変更。
# chown root:wheel /home/vpopmail/bin/vchkpw
# chmod 4755 /home/vpopmail/bin/vchkpw
/usr/local/etc/rc.dに起動ファイルqmail-submission.shを作成
FreeBSDのportsでqmailをインストール済みの場合aliasのuid,gidともに「81」
#id alias
と確認してから作成
#!/bin/sh
#
# TCPSERVER for qmail with submission
# $FreeBSD$
#
case "$1" in
start)
#qmail with submission
SUBMISSION="" exec /usr/local/bin/tcpserver -PR -l `/bin/hostname` -v -x /home/vpopmail/etc/tcp.smtp.cdb -u 81 -g 81 0 587 /var/qmail/bin/qmail-smtpd-submission `/bin/hostname` /home/vpopmail/bin/vchkpw /usr/bin/true 2>&1 | /var/qmail/bin/splogger smtpd-sub 4 &
echo -n " Starting qmail with submission"
;;
stop)
kill -TERM `ps axwww | grep qmail-smtpd-submission | awk '{print $1}'`
echo -n " Stoped qmail with submission"
;;
*)
echo "Usage: /usr/local/etc/rc.d/qmail-submission.sh {start|stop}" >&2
;;
esac
exit 0
起動ファイルのパーミッションを変更
# chmod 555 qmail-submission.sh
# /usr/local/etc/rc.d/qmail-submission.sh start
として起動。
# ps auxwww|grep qmail-smtpd-submission
と確認。
メーラーの設定
Outlook Expressの場合
1.「ツール」→「アカウント」で、変更したいアカウントを選択し、プロパティを選択
2.「サーバー」タブを選択し、「送信メールサーバー」の欄の「このサーバーは認証が必要」にチェックを入れる。
3.詳細設定タブを選択し、サーバーのポート番号の送信メール(SMTP)を 25から 587に変更
実際に送信を行うと/var/log/auth.logにsmtpd-subのログが書き出される。
■ Outbound Port25 Blocking 対応プロバイダ
WAKWAK(2005年3月1日より)
SANNET(2005年4月より)
AEON NET(2005年3月1日より)
ツインインターネット(2005年10月5日より)
@nifty(2006年2月15日より)
So-net(2006年5月16日より) → (2006年6月14日より)
Infosphere(2006年6月より)
Yahoo! BB(2006年6月より)
SoftBank ブロードバンドサービス[エンジョイBB、Nexyz.BB](2006年6月より)
ODN(2006年6月より)
JENS SpinNet(2006年6月より)
BBモバイルポイント(2006年6月より)
KCN(2006年7月5日より)
ぷらら(2006年7月中旬より)