2016-11-08 4 views
0

私はAWS SESを使用してメールを送信しています。コードはAWS SimpleEmailServiceがメール送信時に例外をスローする

var textBody = new Content(body); 
var message = new Message(new Content(subject), new Body(textBody)); 
var destination = new Destination { ToAddresses = (new List<string> { to }) }; 

using (var client = new AmazonSimpleEmailServiceClient()) 
{ 
    client.SendEmail(new SendEmailRequest(from, destination, message)); 
} 

非常に簡単です。しかし、この最後の行は、常に例外で終わる「タイプの例外 『をAmazon.Runtime.AmazonServiceException』はAWSSDK.Core.dllで発生したが、ユーザーコードで処理されなかった」

内部例外は次のとおりです。"要求が中止されました:SSL/TLSセキュアチャネルを作成できませんでした。

どのような理由が考えられますか?他の場所では、SES APIは期待どおりに動作します。

答えて

0

解決策が見つかりました。 AWSドキュメントに基づいて、SimpleEmailServiceはTLS 1.0暗号化のみをサポートします。

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/security.html

HTTP

あなたは、すべての通信がアマゾン SES HTTPSエンドポイントを通じてTLSで暗号化され、(直接またはAWS SDKを介して)アマゾンSESのAPIを使用している場合。 Amazon SES HTTPSエンドポイントは、TLS 1.0 のみをサポートしています。

今だけの方法 - アマゾンSESプロバイダを介してメールを送信するため、「Tlsが」暗号化を使用するには、オーバーライドデフォルトSecurityProtocol

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; 

TLS1はもはや他のプロバイダで使用されていないのはなぜ - read here

関連する問題