質問: 'UTF-8'; $this->Mail->isHTML(true); ``` 件名などの設定は下記のようになっています 定数どちらも、お客様メールアドレスを指定しています ※メール送信画面がいくつかあり、そのためにクラスが変数に入っています ``` $this->Mail->setFrom($class::ADDRESS_FROM, $class::NAME_FROM); // From $this->Mail->addAddress($class::ADDRESS_TO, $class::NAME_TO); // TO ``` ### postfixログ 指摘されてpostfixのログの存在を知りました。。 送信成功しているFrom=お客様、To=私のパターン ``` Mar 31 15:10:00 xxxxxxxx postfix/qmgr[1235]: 9FB60C0C09: from=<私のアドレス@gmail.com>, size=1990, nrcpt=1 (queue active) Mar 31 15:10:00 xxxxxxxx postfix/smtp[6172]: connect to gmail-smtp-in.l.google.com[2404:6800:4008:c00::1b]:25: Network is unreachable Mar 31 15:10:00 xxxxxxxx postfix/smtp[6173]: connect to gmail-smtp-in.l.google.com[2404:6800:4008:c07::1b]:25: Network is unreachable Mar 31 15:10:01 xxxxxxxx postfix/smtp[6172]: 98250C0C0B: to=<私のアドレス@gmail.com>, relay=gmail-smtp-in.l.google.com[108.177.97.26]:25, delay=0.92, delays=0.05/0.01/0.45/0.41, dsn=2.0.0, status=sent (250 2.0.0 OK 1490940601 y2si4135767pli.71 - gsmtp) ``` 不着のFrom=To=お客様のパターンと思しきログ ``` Mar 31 15:35:09 xxxxxxxx postfix/qmgr[1235]: 25236C0C04: from=, size=391, nrcpt=1 (queue active) Mar 31 15:35:09 xxxxxxxx postfix/local[6232]: 25236C0C04: to=, orig_to=, relay=local, delay=82, delays=82/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox) ``` ※FromもToも、`info@お客様ドメイン` で設定していたはずなのですが。。 httpdのログ→怪しきログなし PHPMailerのログ→そもそも存在せず どのログにもこれ以上怪しそうなログは残っていないようでした。。
回答: PHP の稼動しているWebサーバと お客様のメールサーバは、別に稼動しているということでよろしいでしょうか? おそらく、PHP が稼動しているサーバで稼動している postfix の設定ファイル main.cf で、mydestination に お客様ドメインが、設定されているので、(PHPが動いている)Webサーバが、お客様ドメイン宛にメールを送信した際に 自分自身(WebサーバのPostfix)で受信していて、(お客様ドメインで使われている)外部のメールサーバまで、配送されていないのでしょう。 main.conf の内容が分からないので、推測になりますが、Webサーバにホスト名を設定して、mydestination からドメインを削除して、代わりに mydestination に Webサーバのホスト名を設定したら、ドメイン宛のメールが、外部に配送されるようにならないでしょうか? コメントに対する追記 メールの送受信のログは、送信したサーバの /var/log/maillog にも残っていますので、ある程度は、確認できます。 (相手のサーバに配信できたかどうかまでしか記録されないですが...) maillog ファイルを受信メールアドレスで検索してみると 以下のような行があると思います。これを例に説明します。 (以下は、gmail 宛に送った例です。) ``` Apr 3 19:39:22 localhost postfix/smtp[32676]: 4E00B350092A: to=, relay=gmail-smtp-in.l.google.com[74.125.204.27]:25, delay=2.1, delays=0.11/0.05/0.8/1.1, dsn=2.0.0, status=sent (250 2.0.0 OK 1491215962 o5si13938393plh.68 - gsmtp) ``` まず、テストメールを送った時刻のログをさがして、見つかったら status (結果) をみます。 この例では、status が、「sent (250 2.0.0 OK 1491215962 o5si13938393plh.68 - gsmtp)」となっていますので、gmail-smtp-in.l.google.com 宛の送信に成功しています。 status 欄に sent や 250 OK の記載があれば、相手のサーバに配信できたと考えて大丈夫と思います。 なお、送信成功していても、受信側のメールボックスにない場合は、メールアドレスの確認や送信したメールが、相手先で迷惑メールと判断されていたりしないか確認してください。