1

仮想専用プラットフォームで 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 (テキスト)」セクションの下にありました。(うまくいけば、それは私よりもあなたにとってより理にかなっているでしょう)。

4

4 に答える 4

5

これは古いスレッドですが、他の人を助けた場合に備えて、私の経験を追加すると思いました.

私は mail() で非常によく似た問題を抱えていたので、GoDaddy の技術サービスに電話しました。私は 2 時間電話に出ていましたが、30 回ほど mail() へのテスト呼び出しを行った後 (彼らは独自の「testmail」スクリプトもアップロードしました)、メールを 1 通も受信していませんでした (ただし、mail() は値 1 を返しました)。 、つまり成功)。最終的に、メール サーバーのリレーが「キューに入れられた」と彼は言いました。2 時間後、1 人の技術サポート担当者と彼の「システム管理者」...それでも同じ問題が発生しました。

解決策は、単純な古い mail() 関数の代わりに、php ライブラリのswiftmailerを使用することでした。swiftmailer を使用してすぐに送信される電子メール。これが他の誰かに役立つことを願っています!

言うまでもなく、ホスティング プロバイダーを変更しました。

于 2014-03-12T18:22:00.337 に答える
3

GoDaddyがPHPメールをサポートしているかどうかはわかりません。これは、スパムを送信するスクリプトで使用されるため、通常、Webホスティング会社にとって大きな問題です。

最善の方法は、GoDaddyがホスティングで使用しているPEAR拡張機能を確認することです。PEARメールがある場合は、それを使用できます。そうでない場合は、認証されたメール送信を使用してみてください。

必要に応じて、PEARとAuthenticatedメールの例を紹介します。

于 2012-04-10T19:55:56.757 に答える
1

GoDadday に PHP mail() のデフォルト変数を使用する必要があるかどうかはわかりませんが、あなたのスニペットを使用するとうまくいきませんが、標準変数を使用することでメールを受け取りました。はい、専用の電子メールアドレスに変数を使用しないでください。私が行ったようにmail()関数に入れます。ここに画像の説明を入力

あなたにもうまくいくことを願ってください。

$subject = "Please validate your email";
$message   = "Validation info, blah blah. 2nd msg";
$Header = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$Header .= 'From: Lux <info@luxstyles.com >' . "\r\n";

if(mail('info@luxstyles.com', $subject, $message, $Header))

echo "email sent";

else 

echo "email sending fail";
于 2012-04-10T21:04:51.847 に答える
0

そこで、godaddy デラックス ホスティングで php のメール機能を使っていくつかの作業を行いました。それは私のGmailアカウントに送信されますが、godaddyにあるドメインを使用する実際のメールアカウントにはメールが送信されませんでした. 私は、狂気へのある種の方法があると信じなければなりません。mail() からメールが届かない場合は、別のメールを試すことをお勧めします。これにより、メールを送信したい場所の完璧な設定にレンチがかかることはわかっていますが、少なくともメールは届きます. おそらく、実際にメールを受け取ったら、転送トリックを使用して、選択した受信トレイにメールを受け取ることができます.

于 2016-06-14T23:05:19.857 に答える