Maillog – Sender address rejected: Domain not found
Mar 13, 2017先日Xserverにメールサーバを変更したら、phpのMail()で送っているメールが届かなくなりました。
でMaillog(tail -f /var/log/maillog)を見てみると下記のようにエラーがでておりました。
1 |
Mar 13 19:42:56 ip-10-130-82-103 sendmail[11076]: aaaa: to=<info@hogehoge.com>, ctladdr=<apache@local-hostname> (48/48), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=152169, relay="ドメインのMXレコードに指定してあるドメイン". [X.X.X.X], dsn=4.1.8, stat=Deferred: 450 4.1.8 <apache@local-hostname>: Sender address rejected: Domain not found |
はじめは、DNSがうまくひけていないかと思って、サーバ(CentOS)のDNS回りの見ていたんですが、最終的のFromで指定しているDomainがSendmailにうまく渡せていないので、ctladdr=
解決方法
php5から導入されたmail.force_extra_parametersを使ってsendmail -f でメール指定することにしました。
1 2 |
vi /etc/php.ini mail.force_extra_parameters = -f info@hogehoge.com |
この設定だと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: 0