首先先贴上代码
try
{
MailAddress receiver = new MailAddress("zhan.com", "邮箱");
MailAddress sender = new MailAddress(WebSettingsConfig.SenderAddress, "PC");
MailMessage message = new MailMessage();
message.From = sender;//发件人
message.To.Add(receiver);//收件人
//message.CC.Add(sender);//抄送人
message.Subject = model.Title;//标题
message.Body = "内容:" + model.Content + "<br> 联系姓名:" + model.SenderName + "<br> 联系邮箱:" + model.SenderEmail + "<br> 电话号码:" + model.SenderPhone;//内容
message.IsBodyHtml = true;//是否支持内容为HTML
SmtpClient client = new SmtpClient();
client.Host = "smtp.exmail.qq.com"; //
client.Port = 587;
client.EnableSsl = true;//是否启用SSL
//client.Timeout = 10000;//超时
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(WebSettingsConfig.SenderAddress, WebSettingsConfig.SenderPassword);
client.Send(message);
return this.Json(new ResultU(true, ConstResult.success, "邮件发送成功!"));
}
catch (Exception ex)
{
LogFile.WriteErrorLog(DateTime.Now + " 邮件发送失败:" + ex.Message);
return this.Json(new ResultU(false, ConstResult.fail, "邮件发送失败!"));
}
发送邮件的代码没什么特别的,但是因为用腾讯企业邮箱一直发送失败,总是提示超时。也有查到网上的一些解决方案,几乎都是不要使用SSL,使用25端口。感觉不大好
看看腾讯的官方设置说明,使用SSL,端口号465,但是如果按配置,总是提示超时。没办法,google了一把,发现端口号应该是587
可以看看这里了解一下 https://stackoverflow.com/questions/15796530/what-is-the-difference-between-ports-465-and-587
所以其实也不算是腾讯的误导,只能说是自己知识不足

