-2

このページの指示に従ってmail()AWS linux ubuntuにセットアップしましたが、メール機能が動作しません。メール送信スクリプトを正しく作成したことはわかっていますが、これを機能させるために他に必要なものはありますか? 専用のウェブメールソフトなど必要なものはありますか?

編集:

display_errorsオンです。PHPコードは以下の通りです。成功メッセージが表示されますが、電子メールが受信されません。

$to = "myemail@gmail.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

if (mail($to, $subject, $body))
{
    echo("Message successfully sent!");
} 
else
{
    echo("Message delivery failed...");
}

編集2:

Godaddy がホストするメールと gmail アカウントに送信してみました。どちらも、以下のエラー ログで同じ応答を返しました。

エラーログ:

"8C029: ホスト smtp.secureserver.net[ . . . ] は私との会話を拒否しました: -- *。. . . 554 送信側 MTA の評価が低いため、このメール システムへのアクセスは拒否されました。この失敗が誤りであると思われる場合は、別の手段で目的の受信者に連絡してください。」

気にしないで、Gmail は 15 分後にメッセージを受信しました。2 つのエラーはどちらも、godaddy がホストする電子メールに関連していると思います。

4

1 に答える 1

3

気にしないで、Gmail は 15 分後にメッセージを受信しました。2 つのエラーはどちらも、godaddy がホストする電子メールに関連していると思います。

mail()このエラーは実際には、コードやサーバーの設定に起因するものではありません。MTA はmailコマンドからメッセージを受け取り、メッセージを配信しようとします。

エラーは、GoDaddy の受信メール サーバー (postfix がメッセージを配信しようとしているサーバー) から発生します。または、ルート上の SMTP 中継サーバーの 1 つ。

ただし、拒否は予想外ではありません。サーバーが AWS で実行されていると述べました。残念ながら、AWS インスタンスからメールを送信しているのはあなただけではありません。多くの悪名高いスパム送信者があなたに先行し、信頼できるメール ソースとしての AWS の IP アドレスの信頼性を台無しにしました。これが、多くの ISP が AWS からの受信メールをブロックする理由です (554 エラーは次のとおりです: リレー アクセスが拒否されました)。

問題を悪化させるには: このアプローチを使い続けると、AWS はスパムの問題に対抗するために、インスタンスからのすべての送信メールを自動的にブロックします。ただし、意図を手動で検証した後、メーリング権限を元に戻す必要があります。

AWS で電子メールを確実に送信するための最良のオプションは、おそらく独自のSES サービスを使用することです。これにより、MTA のほとんどのRBLチェックを通過できるはずです。でも、SESはお金がかかります。

于 2012-06-13T22:19:11.943 に答える