プロバイダがOutbound Port 25 Blocking を開始するそうなので、
sendmailの設定を変更して掲示板cgi(Kentさんのcgi)に投稿があったときお知らせメールが届くようにました。
自分で立てたサーバーのsmtpからOP25Bに引っ掛からないように、
sendmailの設定を変更して中継させなければいけません。
大概中継するサーバーはsmtp認証が必要なので、必要な物を導入していきます。
最初にcyrus-sasl をインストールします。
# cd /usr/ports/security/cyrus-sasl
に移動します。
# make
でオプションを選択する画面が現れます。
ここでmysql…のチェック(×)が入っていますが外します。
チェックを入れたままだとエラー吐いて途中で止まります。
pwcheckのチェック(×)を入れます。似たのがもう一つありますが短い方です。
インストールを完了したら
/usr/local/lib/sasl/Sendmail.conf
を編集します。Sendmail.confがなければ作ります。
pwcheck_method: passwd
と書き足してセーブします。
次に
/etc/make.conf
を開いて
SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl
の三行を付け加えます。
次は
# cd /usr/src/lib/libsm
で
# make
してlibsm.aを作ります。作ったlibsm.aを
/usr/obj/usr/src/lib/libsm/libsm.a
とコピーします。/lib/libsmはないので作ります。
同様に
# cd /usr/src/lib/libsmutil
で
# make
してlibsmutil.aを作ります。作ったlibsmutil.aを
/usr/obj/usr/src/lib/libsmutil/libsmutil.a
とコピーします。/libsmutilはないので作ります。
sendmailを再コンパイルします。
# cd /usr/src/usr.sbin/sendmail
# make cleandir
# make obj
# make
# make install
/etc/mailにあるhost名.mcのファイルを編集します。
次の行を付け足します。
dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/authinfo')dnl
FEATURE(`masquerade_envelope')dnl
MASQUERADE_AS(`example.co.jp')dnl
FEATURE(`authinfo')dnl
define(`SMART_HOST', `smtp.mail.example.co.jp')
define(`RELAY_MAILER_ARGS', `TCP $h 587')
exampleと書いてあるところは、中継に使うサーバーに合わせて変更します。
define(`RELAY_MAILER_ARGS', `TCP $h 587')の効果はまだ未検証です。
(一応サブミッションポートを使って通信しているようですが)。
以上をセーブします。
続いて/etc/mailにauthinfoを作成します。
中身は
AuthInfo:smtp.mail.example.co.jp "U:username" "P:password" "M:LOGIN"
です。セーブしましょう。
そしたら
# makemap hash authinfo < authinfo
で、データベースに反映します。
変更を反映してsendmailを再起動します。
# cd /etc/mail
# make ホスト名.mc
# make install
# make restart
最後にシステムを起動した後にいつでもSMTP_AUTH が起動するように
/etc/rc.conf に次の行を追加します。
sasl_pwcheck_enable="YES"
sasl_pwcheck_program="/usr/local/sbin/pwcheck"
セーブしたら、サーバーを再起動してメールが送れるかチェックしましょう。
次のページのapacheのUserの変更も忘れずに。
|