這個幫助類只能發送簡單的基本郵件,只能發送給多個用戶,單一內容。不具有抄送功能,附件添加功能。功能代碼如下,
private void button3_Click(object sender, EventArgs e)
{
int result = SendEmail("123456@qq.com", "123456", new string[] { "530794089@qq.com" }, "測試標題", "測試內容", "smtp.qq.com");
MessageBox.Show(result.ToString());
}
///<summary>
/// 發送郵件
///</summary>
///<param name="sendEmailAddress">發件人郵箱</param>
///<param name="sendEmailPwd">發件人密碼</param>
///<param name="msgToEmail">收件人郵箱地址</param>
///<param name="title">郵件標題</param>
///<param name="content">郵件內容</param>
///<param name="host">郵件SMTP服務器</param>
///<returns>0:失敗。1:成功!</returns>
public static int SendEmail(string sendEmailAddress, string sendEmailPwd, string[] msgToEmail, string title, string content, string host)
{
//發件者郵箱地址
string fjrtxt = sendEmailAddress;
//發件者郵箱密碼
string mmtxt = sendEmailPwd;
//主題
string zttxt = title;
//內容
string nrtxt = content;
string[] fasong = fjrtxt.Split('@');
//設置郵件協議
SmtpClient client = new SmtpClient(host); //System.Net.Mail.SmtpClient
client.UseDefaultCredentials = false;
//通過網絡發送到Smtp服務器
client.DeliveryMethod = SmtpDeliveryMethod.Network;
//通過用戶名和密碼 認證
client.Credentials = new NetworkCredential(fasong[0].ToString(), mmtxt); //System.Net.NetworkCredential
//QQ郵箱使用ssl加密,需要設置SmtpClient.EnableSsl 屬性為True表示“指定 SmtpClient 使用安全套接字層 (SSL) 加密連接。”
client.EnableSsl = true;
//發件人和收件人的郵箱地址
MailMessage mmsg = new MailMessage();
mmsg.From = new MailAddress(fjrtxt);
for (int i = 0; i < msgToEmail.Length; i++)
{
mmsg.To.Add(new MailAddress(msgToEmail[i]));
}
//郵件主題
mmsg.Subject = zttxt;
//主題編碼
mmsg.SubjectEncoding = Encoding.UTF8;
//郵件正文
mmsg.Body = nrtxt;
//正文編碼
mmsg.BodyEncoding = Encoding.UTF8;
//設置為HTML格式
mmsg.IsBodyHtml = true;
//優先級
mmsg.Priority = MailPriority.High;
try
{
client.Send(mmsg);
return 1;
}
catch (Exception exss)
{
string msg = exss.Message;
return 0;
}
}
值得注意的是,使用QQ郵箱時,發件人密碼使用的是QQ郵箱獨立密碼
在winform程序測試有效,關於在web頁面使用,有待測試。
歡迎大家一起來和我討論C#相關知識。關注我吧!