匿名質問者

sendmailでメールが送信できません。

やりたいことは、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)のメールアドレスは有効なアドレスだということはわかってます。

恐らく、自サーバのネットワーク設定、メール設定ということなのだと思うのですが、
アドバイスいただける方いらっしゃいましたら宜しくお願いいたします。

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2014/10/31 14:20:03

回答1件)

匿名回答1号 No.1

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 になるのが普通です。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません