y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

sendmailの初期設定

PHPシェルスクリプトからsendmailを経由してメールを送信することが良くある。
単純に、メール送信関数を起動すれば、メールが送信されると思ったら大間違い。
近年は、送信者ドメインを評価されたりして、存在しないドメインlocalhostなどは弾かれる場合が多い(らしい)
例えば、maillogに”Data format error”とか”sender address云々”なんて出ているのは、要注意。
sendmailの設定ファイル(/etc/mail/sendmail.mc)を修正する必要がある。

/etc/mail/sendmail.mc

dnl EXPOSED_USER(`root')dnl ←コメントアウト
MASQUERADE_AS(`domain.co.jp')dnl ←書き換え後ドメイン
FEATURE(masquerade_envelope)dnl ←書き換えを有効化
MASQUERADE_DOMAIN(localhost)dnl ←書き換え前ドメイン
MASQUERADE_DOMAIN(localhost.localdomain)dnl ←書き換え前ドメイン
MASQUERADE_DOMAIN(www.domain.co.jp)dnl ←書き換え前ドメイン

make sendmail.cf
/etc/rc.d/init.d/sendmail restart


■参考サイト
http://moyolab.blog57.fc2.com/blog-category-11.html
http://home.k05.itscom.net/aperuto/sendmail_mc.html
http://fedorasrv.com/op25b.shtml
http://centossrv.com/sendmail.shtml