发送邮件的代码没什么特别的,但是因为用腾讯企业邮箱一直发送失败,总是提示超时。也有查到网上的一些解决方案,几乎都是不要使用SSL,使用25端口。感觉不大好,于是就折腾了一把。

腾讯的误导?

看看腾讯的官方设置说明,使用SSL,端口号465,但是如果按配置,总是提示超时。没办法,google了一把,发现端口号应该是587

可以看看这里了解一下 https://stackoverflow.com/questions/15796530/what-is-the-difference-between-ports-465-and-587

所以其实也不算是腾讯的误导,只能说是自己知识不足

代码

MailMessage mail = new MailMessage();
mail.From = new System.Net.Mail.MailAddress("testing@zkea.net","ZKEASOFT");
mail.To.Add("xxx@zkea.xin");
mail.Subject = "Sending test - " + DateTime.Now;
mail.Body += "Sending test " + DateTime.Now;
mail.IsBodyHtml = true;

SmtpClient client = new SmtpClient("smtp.exmail.qq.com", 587);
client.Timeout = 10000;
client.UseDefaultCredentials = true;
client.EnableSsl = true;
client.Credentials = new NetworkCredential("testing@zkea.net", "123456789");
client.Send(mail);