0

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")

(もちろん、ここでは偽の電子メールとドメイン名を偽の名前に置き換えました)

4

2 に答える 2

2

MTA のログ ファイルを読んで、何が起こっているのかを把握する必要があります。

于 2011-11-24T10:21:16.720 に答える
0

コードの例をいくつか挙げていただけますか?

有効なヘッダーを渡すのを忘れたと思います。たとえば、X-Mailer が設定されていない場合、すべてのメールを拒否するメール サーバーがいくつかあります。

于 2011-11-24T10:21:06.313 に答える