首先先貼上代碼
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
所以其實也不算是騰訊的誤導,只能說是自己知識不足

