2

web.configで編集してメールを送信するためにAmazonサーバーに接続しようとしています

  <system.net>
   <mailSettings>
    <smtp deliveryMethod="Network">
     <network enableSsl="true" port="587" host="email-smtp.us-east-1.amazonaws.com" password="actual password" userName="actual username"/>
    </smtp>
   </mailSettings>
  </system.net>

これらの設定は、以下に示すように設定されています。 ここに画像の説明を入力

私がコードで行っているのは

SmtpClient client = new SmtpClient();
client.SendCompleted += SendCompletedCallback;
string userState = _id.ToString();
client.SendAsync(msg, userState);

しかし、私が返すエラーは常に

接続先が一定時間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました 184.73.222.29:587

以前は内部メール サーバーを使用していましたが、これは amazon クラウドにプッシュされるため、ローカル サーバーにはアクセスできません。ローカル サーバーの場合、ホストの IP アドレスを指定するだけで問題なく動作しました。

4

1 に答える 1

0

次の 3 つの問題がありました。

1: 送信元のメール アドレスが Amazon で検証されておらず、受信者も検証されていません (受信者の検証はサンドボックス モードでのみ必要です)。

2: 使用していた出力ポート 587 が会社によってブロックされている、これはよくあることのようです

3: 非同期の使用は、ページが aspx の「ヘッダー」で非同期を使用するように指定した場合にのみ実行できます。

于 2013-09-06T19:57:58.680 に答える