3 回答
TA贡献1852条经验 获得超1个赞
我认为问题在于隐式 SSL。
System.Net.Mail
仅支持“显式”SSL,如此处所述:
通常这是由惯例支配的。在端口 25(正常情况)上运行的 SMTP 使用显式 SSL。在端口 465 上运行的 SMTPS 使用隐式 SSL。在端口 587 上运行的邮件提交使用显式 SSL。
25
如果允许显式 SSL,您可以尝试使用端口。
TA贡献1998条经验 获得超6个赞
这可能是题外话,但我想建议你使用
https://github.com/jstedfast/MailKit
而不是自己创建 smtp 客户端,这是来自https://www.infoq.com/news/2017/04/MailKit-MimeKit-Official的原因。
SmtpClient 的主要问题是它有一个令人困惑的连接生命周期。连接到 SMTP 服务器可能很耗时,尤其是在启用身份验证的情况下,因此每个 SmtpClient 对象都有一个内部连接池。
TA贡献1796条经验 获得超4个赞
试试下面的代码。
private async Task<bool> SendEmail(string Email, string Message)
{
try
{
SmtpClient client = new SmtpClient("www.test.com");
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("abc@test.com", "password");
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("test@from.com");
mailMessage.To.Add(Email);
mailMessage.Body = Message;
mailMessage.Subject = "abc";
await client.SendMailAsync(mailMessage);
return true;
}
catch (Exception ex)
{
return false;
}
}
- 3 回答
- 0 关注
- 233 浏览
添加回答
举报