我正在尝试使用 Amazon SES 发送电子邮件。
我可以使用我们的本地 SMTP 服务器发送电子邮件,也可以使用亚马逊网站上提供的示例发送电子邮件。
我需要通过电子邮件发送“发件人地址”和“收件人地址”名称。我无法使用 Amazon SDK 中提供的 SendEmailRequest 类来执行此操作,因为WithSource(toaddress)
, WithDestination(destinationaddress)
&WithReplyToAddresses(replytoaddress)
方法没有这样的重载,因此我无法在此处从发件人 7 接收者传递名称,因此我使用的是使用 Amazon 配置发送邮件的常规方法.
我尝试了通过代码硬编码以及通过文件进行配置来传递凭据的两种方式,但是在使用端口 587 时,在此错误之上的两种方式仍然出现相同的错误,
“SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:需要身份验证”
尝试使用 465 端口时收到此错误,“发送电子邮件失败”
当尝试使用 IP 地址而不是亚马逊服务器的主机地址时出现此错误。
“根据验证程序,远程证书无效。”
请建议我在这里缺少什么,
这是我的代码,
MailMessage mail = new MailMessage();
mail.From = new System.Net.Mail.MailAddress(FromEmail, FromName);
SmtpClient smtp = new SmtpClient("email-smtp.us-east-1.amazonaws.com", 587);
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential(AWSAccessKey, AWSSecretKey);
//recipient address
mail.To.Add(new MailAddress(ToEmail, ToName));
//Formatted mail body
mail.IsBodyHtml = true;
mail.Body = strBody;
smtp.Send(mail);
提前致谢..!!!