PHPスクリプトでmail()コマンドを使用してメールを送信しようとしています。これは、Linuxのsendmailまたはmailコマンドを使用していると思います。
PHP mail()とlinuxコマンドラインのmailコマンドの両方で送信しようとしましたが、どちらの場合もメールは送信されますが、一部のメールにしか届きません。私は5つの異なるドメインでテストしましたが、そのうち3つはメールを受信し、2つは受信しません。メールはスパムにさえ行きません、彼らはまったく到着しません。
PHP mail()では、正しいFromアドレスヘッダーを使用しており、Gmailアカウントでメールを受信できます。Gmailの「オリジナル」を見ると、すべて問題がないことがわかります(spf = passなど)。
一部の受信サーバーによる自動拒否のように感じます。誰かが私を正しい方向に向けることができますか?
更新:MTAログファイルを確認したところ、次のことがわかりました。
Nov 24 08:30:09 ranits postfix/pickup[8484]: 94861EC738: uid=33 from=<www-data>
Nov 24 08:30:09 ranits postfix/cleanup[8555]: 94861EC738: message-id=<20111124083009.94861EC738@mydomain>
Nov 24 08:30:09 ranits postfix/qmgr[7985]: 94861EC738: from=<www-data@mydomain.eu>, size=351, nrcpt=1 (queue active)
Nov 24 08:30:09 ranits postfix/smtp[8631]: 94861EC738: to=<name@mydomain.ee>, relay=mh3.elkdata.ee[213.180.31.146]:25, delay=0.35, delays=0/0/0.35/0, dsn=5.5.2, status=bounced (host mh3.elkdata.ee[213.180.31.146] refused to talk to me: 504 5.5.2 <mydomain>: Helo command rejected: need fully-qualified hostname)
と
Nov 24 08:28:10 ranits postfix/local[8558]: 69563EC738: to=<myname@mydomain.eu>, relay=local, delay=0.01, delays=0/0/0/0, dsn=5.1.1, status=bounced (unknown user: "myname")
(もちろん、ここでは偽の電子メールとドメイン名を偽の名前に置き換えました)