2007年8月アーカイブ


 6月末頃からYahooBBがOP25Bを開始したため、自宅サーバからメール送信ができなくなってしまいました。単純にYahooBBのSMTPサーバを経由するようにしただけでははじかれてしまう為、SMTP認証が必要です。

 SendmailのAuthinfoを使うためにCyrus SASLをインストールします。各種設定ファイルを変更した後、Sendmailの再インストール・再起動を行います。

op25b

 下記が契約しているさくらのレンタルサーバ経由でメールを送れるようにした手順です。
 (私はさくらのサーバを使いましたが、YahooBBや他のプロバイダのサーバでも同様の手順でいけると思います。)

1.メールサーバの機能を確認する

 契約しているプロバイダ等のサーバにtelnet接続し、サーバの条件を調べます。確認するポートはsmtp(25)とsubmission(587)です。

 <さくらのサーバ>

# telnet hoge.sakura.ne.jp 25
Trying aaa.bbb.ccc.ddd...
telnet: connect to address aaa.bbb.ccc.ddd: Connection refused
telnet: Unable to connect to remote host

smtp(25)ポートはNG。
# telnet hoge.sakura.ne.jp 587
Trying aaa.bbb.ccc.ddd...
Connected to hoge.sakura.ne.jp.
Escape character is '^]'.
220 hoge.sakura.ne.jp ESMTP Sendmail 8.13.6/8.13.6; Mon, 23 Jul 2007 17:50:10 +0900 (JST)
EHLO localhost
250-hoge.sakura.ne.jp Hello softbanknnnnnnnnnnnn.bbtec.net [aaa.bbb.ccc.ddd], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN ← SMTP認証
250-STARTTLS ← TLSによる暗号化
250-DELIVERBY
250 HELP

submission(587)ポートを使ってSMTP認証を通せばいけそうです!

 <YahooBBのサーバ>

# telnet ybbsmtp.mail.yahoo.co.jp 25 Trying 124.83.155.241... Connected to ybbsmtp.mail.yahoo.co.jp. Escape character is '^]'. 220 ybbsmtp08.mail.ogk.yahoo.co.jp ESMTP EHLO localhost 250-ybbsmtp08.mail.ogk.yahoo.co.jp 250-AUTH LOGIN PLAIN ← SMTP認証 250-PIPELINING 250 8BITMIME

# telnet ybbsmtp.mail.yahoo.co.jp 587
Trying 124.83.155.241...
Connected to ybbsmtp.mail.yahoo.co.jp.
Escape character is '^]'.
220 ybbsmtp07.mail.ogk.yahoo.co.jp ESMTP
EHLO localhost
250-ybbsmtp07.mail.ogk.yahoo.co.jp
250-AUTH LOGIN PLAIN ← SMTP認証
250-PIPELINING
250 8BITMIME

smtp(25)でもsubmission(587)でもSMTP認証を通せばいけそうです。


2.Sendmailの設定を修正する

 <authinfoの設定ファイル作成>

cd /etc/mail

vi authinfo
AuthInfo:hoge.sakura.ne.jp "U:MAIL@hoge.sakura.ne.jp" "P:PASSWORD" "M:CRAM-MD5"
makemap hash authinfo < authinfo

vi msp-authinfo
AuthInfo:hoge.sakura.ne.jp "U:MAIL@hoge.sakura.ne.jp" "P:PASSWORD" "M:CRAM-MD5"
makemap hash msp-authinfo < msp-authinfo

 <cf/cf/sendmail.mcに設定追加>

   デーモンにSMTP認証の機能を追加

Authinfoの設定
FEATURE(`authinfo', `hash -o /etc/mail/authinfo')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl

プロバイダ等のメールサーバへリレーする設定(ポート587へ接続)
define(`SMART_HOST', `relay:hoge.sakura.ne.jp')dnl
define(`confRELAY_MAILER', `esmtp')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl


 <cf/cf/submit.mcに設定追加>

   ローカルからの送信にSMTP認証の機能を追加

MSAの設定
FEATURE(`msp', `hoge.sakura.ne.jp', `MSA')dnl

Authinfoの設定
FEATURE(`authinfo', `hash -o /etc/mail/msp-authinfo')


 <devtools/Site/site.config.m4に設定追加>

   コンパイル時のオプション等を追加

APPENDDEF(`confENVDEF', `-DSASL')dnl
APPENDDEF(`conf_sendmail_LIBS', `-lsasl')dnl
APPENDDEF(`confLIBDIRS',`-L/usr/local/lib')dnl
APPENDDEF(`confINCDIRS',`-I/usr/local/include/sasl1')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/authinfo')dnl

 <sendmailをビルドし直す>

sendmailの再インストール cd (sendmailのソース場所) sh Build sh Build install cd cf/cf sh Build sendmail.cf sh Build install-cf

プロセスの再立ち上げ
sendmailのプロセスをkill
sendmail -bd -q15m ← デーモン
sendmail -ac -q15m ← キュー配信用

ここで、下記のメッセージがでる場合は、sendmailからcyrus SASL が利用できるようになっていません。次項に従ってインストールしてください。
Warning: Option: AuthMechanisms requires SASL support (-DSASL)


3.Cyrus SASLをインストールする

cd /usr/ports/security/cyrus-sasl make install

あとは、前項と同様にしてプロセスを立ち上げてください。
それでもダメな場合は、下記も行ってみてください。

cd (sendmailのソース場所)
sh Build clean
rm -Rf obj.FreeBSD.?.?-?.i386/


このアーカイブについて

このページには、2007年8月に書かれたブログ記事が新しい順に公開されています。

次のアーカイブは2009年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.23-ja

関連サイト