Maillog – Sender address rejected: Domain not found

Mar 13, 2017
AD:

先日Xserverにメールサーバを変更したら、phpのMail()で送っているメールが届かなくなりました。
でMaillog(tail -f /var/log/maillog)を見てみると下記のようにエラーがでておりました。

はじめは、DNSがうまくひけていないかと思って、サーバ(CentOS)のDNS回りの見ていたんですが、最終的のFromで指定しているDomainがSendmailにうまく渡せていないので、ctladdr=になっているのが問題だとわかりました。(今から書く内容をもとに予測しているだけですが)

解決方法

php5から導入されたmail.force_extra_parametersを使ってsendmail -f でメール指定することにしました。

この設定だとphpがSendmailを使って送る際にすべて-fに適応されるので、おすすめできないのですが、このサーバあと1ヶ月で閉じる予定で、phpもこのinfo@hogehoge.comにしか送らないので対応できました。
本来ならSendmail.cfや/etc/sysconfig/networkに$HOSTNAMEを指定するなどの対策のほうがいいかと思います。

Twitter: 0 | Facebook: 0 | Google Plus: 0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 26

ARCHIVES