仮想専用プラットフォームで GoDaddy によってホストされている Web サイトを持っていmail()
ますが、PHP スクリプトで関数を適切に動作させることができませんでした。私のウェブサイトに最初にサインアップしたときに、検証コードを含む電子メールを人々に送信しようとしています。このmail()
機能は Gmail アドレスではうまく機能しますが、AOL や GoDaddy の電子メール サービスのような他のものでは機能しません!
複数の GoDaddy サポート担当者と話をしてみましたが、この問題についてあまり役に立ちませんでした。オンラインで調べてみたところ、これは GoDaddy でウェブサイトをホストしている人々にとって非常に一般的な問題のようです. メールが失敗したときにバウンスバックメールが届かないため、何が起こっているのかを知るのは困難です.
ここに私のPHPコードがあります:
$sendtoemail = 'newsignup@aol.com';
$emailsubject = "Please validate your email";
$emailbody = "Validation info, blah blah.";
$emailheader = 'From: admin@example.com' . "\r\n" .
'X-Mailer: PHP' . "\r\n" .
'Reply-To: admin@example.com' . "\r\n" .
'-fadmin@example.com';
mail($sendtoemail, $emailsubject, $emailbody, $emailheader);
/usr/local/psa/var/log/maillog
(PuTTY SSH 経由でアクセスして)チェックしたときにいくつかのエラーが発生し、すべて次のようになりました。deferral: ./Maildir:_No_such_file_or_directory/
また、ホスティング アカウントでリバース DNS を有効にし、「GoDaddy のみ」を介してメールを送信する SPF DNS レコードを作成し、DNS ルックアップの「PTR を含める」ボックスをオンにしました。これは、GoDaddy の DNS マネージャーの「ゾーン ファイル エディター」の「TXT (テキスト)」セクションの下にありました。(うまくいけば、それは私よりもあなたにとってより理にかなっているでしょう)。