2017-09-29 20 views
0

AWS SESメールサービスの問題:ポート?タイムアウト? STARTTLS?私はAmazonのSESサービスを使用して電子メールを送信しようとしています

String username = "&&&&&&"; // Replace with your SMTP username. 
     String password = "&&&&&&&"; // Replace with your SMTP password. 
     String host = "email-smtp.us-west-2.amazonaws.com"; 
     int port = 25; 
     String senderAddress = "[email protected]"; 
     String receiverAddress = inputEmail; 

     using (var client = new System.Net.Mail.SmtpClient(host, port)) 
     { 
      client.Credentials = new System.Net.NetworkCredential(username, password); 
      client.EnableSsl = true; 

      String message = "Trucking On Demand received a request to reset the password for your account " + inputEmail + ".Your new password is: " + tempPassword; 
      client.Send 
      (
         senderAddress, // Replace with the sender address. 
         inputEmail, // Replace with the recipient address. 
         message, 
         "This email was delivered through ****." 
      ); 

     return Ok(); 
     } 
    } 

なぜ私の要求のタイミングが出ているのですか?私はインターネットを検索しようとしましたが、awsはTLSを有効にすることを要求する以外はこの問題の明確な解答を持っていません。私はclient.enablesslがその仕事をすると信じています。クライアントを処分する必要がありますか?すなわちclient.dispose();

+1

実際にタイムアウトしているのですか、本当に間違っていますか?どの地域でSESアカウントを設定しましたか? orhtej2が提供したリンクは良い例です。私はそれから始めて、あなたのコードに逆戻りして作業します。注:ポート587を使用する必要があります。ポート25はサポートされていません。 –

答えて

2

official documentationから判断すると、ポート587に接続する必要があります。

+0

これは正解である@Ackmanです。しかし、EC2の場合は、コードが実行されているインスタンスからインターネットにアクセスする必要があります。 –

+0

実際に私が知ったドキュメントでは、あなたがaws sesチームに明示的に伝えない限り、登録されていない受信者にメールを送ることはできません。 – Ackman

関連する問題