1. 程式人生 > >C# 用qq郵箱發郵件

C# 用qq郵箱發郵件

use ssa ring auth param com fault set mage

一、在企業的QQ郵箱中開啟POP3/SMTP服務

技術分享圖片

技術分享圖片

開啟服務時,授權密碼保存好。

二、示例

public static string UserName = ""; // 企業郵箱
public static string UserPass = ""; //郵箱開啟POP3/SMTP服務,開啟後的授權碼密碼

/// <summary>
/// 向用戶發送郵件
/// </summary>
/// <param name="ReceiveUser">接收郵件的用戶</param>
/// <param name="MailTitle">發送標題</param>
/// <param name="valiCode">發送的驗證碼</param>
/// <returns>bool</returns>
public static bool sendMail(string ReceiveUser, string MailTitle, string valiCode)
{
//保存驗證碼
var authCode = valiCode;
UAP.Session.Set("authCode", valiCode);

MailAddress toMail = new MailAddress(ReceiveUser);
MailAddress fromMail = new MailAddress(UserName, "51流量神器");
MailMessage mail = new MailMessage(fromMail, toMail);
mail.Subject = MailTitle;
mail.IsBodyHtml = true;
mail.Body = "【" + MailTitle + "】您好,您的驗證碼是:" + valiCode + " ."; ;
SmtpClient client = new SmtpClient();
client.Host = "smtp.exmail.qq.com";
client.Port = 587; //25 端口已被阿裏雲全面封殺
client.EnableSsl = true; //使用安全套接字層(SSL)加密連接
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(UserName, UserPass);
client.DeliveryMethod = SmtpDeliveryMethod.Network; //郵件通過網絡的方式傳輸
try
{
client.Send(mail);
return true;
}
catch(Exception ex)
{
Extend.WriteTextLog("SendEmail", ex.Message, DateTime.Now, "Email_Error"); //打印日誌
throw;
}
}

先設置EnableSsl 為true;

在設置UseDefaultCredentials 為false。

三、在Global.asax文件中設置賬戶密碼,方便以後修改企業郵箱。

技術分享圖片

C# 用qq郵箱發郵件