やりたいことは、PHP内からmail関数によるメールの送信です。
下記の情報より、次の確認アクションとして何を確認すべきかアドバイスを頂ければと思っています。
PHPの実行箇所は下記になります。
(同モジュールを別サーバに配置して実行するとメールは送信できます)
---
mail('xxx@xxx.co.jp', $subject, $msg, null,'-f'.noreply@xxxxxx.com);
---
メールログは以下になります。
---
Oct 29 13:52:57 web1 sendmail[1434]: s9T4qudI001434: from=noreply@xxxxxx.com, size=1107, class=0, nrcpts=1, msgid=<201410290452.s9T4qudI001434@localhost.localdomain>, relay=apache@localhost
Oct 29 13:52:57 web1 sendmail[1434]: s9T4qudI001434: to=xxx@xxx.co.jp, delay=00:00:01, mailer=esmtp, pri=31107, dsn=4.4.3, stat=queued
---
「dsn=4.4.3」が出ているのでDNSエラーとのことですが、、
とりあえず送信先(to)のメールアドレスは有効なアドレスだということはわかってます。
恐らく、自サーバのネットワーク設定、メール設定ということなのだと思うのですが、
アドバイスいただける方いらっしゃいましたら宜しくお願いいたします。
RFC 3463 - Enhanced Mail System Status Codes
X.4.3 Directory server failure
The network system was unable to forward the message, because a
directory server was unavailable. This is useful only as a
persistent transient error.
The inability to connect to an Internet DNS server is one
example of the directory server failure error.
確かに、DSN のステータスコードが 4.4.3 なので DNS 周りで発生するエラーですが、ドメイン名が存在しないとかではなくて、DNS サーバにつながらないとか、繋いだ先の DNS サーバがまともに動いていない、といったケース(because a directory server was unavailable.)だと思います。ドメイン名が間違いであれば、一時エラーではなく、Permanent エラー扱いで、最初の数字が 5 になるのが普通です。
コメント(0件)