今回はPOP before SMTPではなくSMTP AUTHで運用してみたいのでこちらにします。
POP before SMTPの方が古くどんなメーラーでも利用できるメリットがありますが、グローバルIPアドレス単位のため正確性に問題あるしメーラーによっては送信前に受信を自動で行ってくれるメーラーが意外と少なく時折送信エラーが起きてムカツクことがあります。
それに比べSMTP認証は対応していないメーラーがあると言われていますが流石に最近のメーラー(少なくとも私が利用しているメーラーは全て)SMTP認証に対応しているのでこちらに決定。
まずは、パッケージを入手します。
# wget http://www.emaillab.org/djb/qmail-vida/software/qmail-vida-0.51.tar.gz
解凍
# tar zxf qmail-vida-0.51.tar.gz
実はこのパッケージ、qmailにパッチを当てて利用するのでqmail自身を再インストールしないといけません。
# cd qmail-vida-0.51
Makefileの中身を確認
# ee Makefile
QMAILSRC = ../qmail-1.03
CHECKPASSWORDSRC= ../checkpassword-0.90
UCSPITCPSRC = ../ucspi-tcp-0.88
PREFIX = /var/qmail
今回、全て/usr/local/src以下なので問題なし。
さらにvida使用のため追加ユーザーを作成します。
# pw groupadd vida -g 83
# pw useradd authdb -g vida -d /var/qmail/authdb -u 90
# pw useradd qmailu -g vida -d /var/qmail/users -u 91
popユーザはすでにシステムにあり既に使われているようだったので別の名称に変更
# ee ./src/vida/conf-realdomainowner
1行目のpopをpopqに変更して以下のようにユーザ作成
# pw useradd popq -g vida -u 92
/etc/passwd認証に対応させます
# cd src/checkpassword/
# echo 1 > conf-withpasswd
パッチを当てます。(今回は既にlocaltimeパッチが当たっているソースを使います)
# cd /usr/local/src/qmail-vida-0.51
# make patch
# make copy
インストール前にqmailを停止
# /usr/local/etc/rc.d/qmail.sh stop
さらにtcpserverのプロセスも停止
qmailを再インストール
# cd ../qmail-1.03
# make
# make setup check
checkpasswdを再インストール
# cd ../checkpassword-0.90
# make
# make setup check
qmail-vidaをインストール
# cd ../qmail-vida-0.51/src/vida
# make
# make setup check
POP3側の修正
# ee /usr/local/etc/rc.d/pop3.sh
#!/bin/sh
PATH=/var/qmail/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
export PATH
DOMAINOWNER=popq
export DOMAINOWNER
ALLOWPLAIN=""
export ALLOWPLAIN
/usr/local/bin/tcpserver -v -x \
/etc/tcp.pop3.cdb -R -H 0 pop3 \
/var/qmail/bin/qmail-popup test.net \
/var/qmail/bin/checkpassword \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 &
# chmod 755 /usr/local/etc/rc.d/pop3.sh
SMTP側の修正
# ee /usr/local/etc/rc.d/smtp.sh
#!/bin/sh
PATH=/var/qmail/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
export PATH
DOMAINOWNER=popq
export DOMAINOWNER
ALLOWPLAIN=""
export ALLOWPLAIN
/usr/local/bin/tcpserver -v -x \
/etc/tcp.smtp.cdb -R -H -u -lo 0 smtp \
recordio fixcrio \
/var/qmail/bin/qmail-smtpup test.net \
/var/qmail/bin/checkpassword \
/var/qmail/bin/qmail-smtpd 2>&1 &
# chmod 755 /usr/local/etc/rc.d/smtp.sh
Maildirを作成します。
# su popq
$ /var/qmail/bin/vida-maildirmake user Maildir

コメントする