AWS SimpleEmailService在发送邮件时抛出异常

时间:2016-11-08 16:22:08

标签: amazon-web-services

我使用AWS SES发送邮件。代码非常简单

 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));
 }

但是这最后一行总是以异常&#34结束;类型&#39; Amazon.Runtime.AmazonServiceException&#39;发生在AWSSDK.Core.dll中但未在用户代码&#34;

中处理

内部异常跟随&#34;请求已中止:无法创建SSL / TLS安全通道。&#34;

可能是什么原因?在其他地方,SES API按预期工作。

1 个答案:

答案 0 :(得分:0)

找到解决方案。基于AWS文档,SimpleEmailService现在仅支持TLS 1.0加密。

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

  

HTTP

     

如果您正在使用Amazon SES API(直接或通过AWS   SDK),然后所有通信都通过亚马逊TLS加密   SES HTTPS端点。 Amazon SES HTTPS端点支持TLS 1.0   仅

现在唯一的方法 - 覆盖默认的SecurityProtocol,使用“Tls”加密通过Amazon SES提供商发送邮件

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

为什么Tls1不再被其他提供商使用 - read here