我正在尝试使用ASP发送电子邮件。. NET Core, MailKit和Amazon SES:
using (SmtpClient client = new SmtpClient(new ProtocolLogger("smtp.log"))) {
client.Connect("email-smtp.us-east-1.amazonaws.com", 587, SecureSocketOptions.StartTls);
client.Authenticate("myusername", "mypassword");
await client.SendAsync(message);
client.Disconnect(true);
}
我一直得到错误"根据验证程序远程证书是无效的".
日志文件显示:
Connected to smtp://email-smtp.us-east-1.amazonaws.com:587/?starttls=always
S: 220 email-smtp.amazonaws.com ESMTP SimpleEmailService-1737464811 qt5bXhIgVseJaHPspjp4
C: EHLO [127.0.0.1]
S: 250-email-smtp.amazonaws.com
S: 250-8BITMIME
S: 250-SIZE 10485760
S: 250-STARTTLS
S: 250-AUTH PLAIN LOGIN
S: 250 Ok
C: STARTTLS
S: 220 Ready to start TLS
我错过了什么?
您需要提供自己的client.ServerCertificateValidationCallback
方法来验证服务器证书。它可以像总是返回true一样简单,或者它可以根据服务器的已知指纹或任何其他可能性检查指纹。
更多信息请参见http://www.mimekit.org/docs/html/P_MailKit_MailService_ServerCertificateValidationCallback.htm