您好,登錄后才能下訂單哦!
本篇內容主要講解“C#怎么調用QQ_Mail發送郵件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#怎么調用QQ_Mail發送郵件”吧!
代碼案例一:
private void button1_Click(object sender, EventArgs e) { string myMaillAdress = ""; string myMaillPassword = ""; string myMaillMessage = ""; string toMaillAdress = ""; QQEmail qq_mial = new QQEmail(); bool send_status = qq_mial.IsSendEmail(myMaillAdress, toMaillAdress, myMaillMessage, myMaillPassword); } class QQEmail { public bool IsSendEmail(string FromAddress, string ToAddress, string Message, string Pwd) { MailAddress Address = new MailAddress(FromAddress); MailMessage mail = new MailMessage(); mail.SubjectEncoding = System.Text.Encoding.UTF8; mail.Subject = "這是" + FromAddress + "發送的一段信息:"; mail.BodyEncoding = System.Text.Encoding.UTF8; mail.Body = Message; mail.IsBodyHtml = true; mail.Priority = System.Net.Mail.MailPriority.Low; mail.To.Add(ToAddress); mail.From = Address; SmtpClient smtp = new SmtpClient("smtp.qq.com", 25);//smtp支持的服務器是smtp.qq.com,服務器端口是25,587也行 smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; smtp.EnableSsl = true; smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential(FromAddress, Pwd);//切記這兩個數據一定要填對 try { smtp.Send(mail); return true; } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); return false; } } }
代碼案例二:
using log4net; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Mail; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Text; namespace BLL { public class emailHandle { private string _serviceType = "SMTP"; private string _host; /// <summary> /// 發送者郵箱 /// </summary> public string From { get; set; } /// <summary> /// 接收者郵箱列表 /// </summary> public List<string> To { get; set; } /// <summary> /// 抄送者郵箱列表 /// </summary> public string[] Cc { get; set; } /// <summary> /// 秘抄者郵箱列表 /// </summary> public string[] Bcc { get; set; } /// <summary> /// 郵件主題 /// </summary> public string Subject { get; set; } /// <summary> /// 郵件內容 /// </summary> public string Body { get; set; } /// <summary> /// 是否是HTML格式 /// </summary> public bool IsBodyHtml { get; set; } /// <summary> /// 附件列表 /// </summary> public string[] Attachments { get; set; } /// <summary> /// 郵箱服務類型(Pop3,SMTP,IMAP,MAIL等),默認為SMTP /// </summary> public string ServiceType { get { return _serviceType; } set { _serviceType = value; } } /// <summary> /// 郵箱服務器,如果沒有定義郵箱服務器,則根據serviceType和Sender組成郵箱服務器 /// </summary> public string Host { get { return _host; } set { _host = value; } } /// <summary> /// 郵箱賬號(默認為發送者郵箱的賬號) /// </summary> public string UserName { get; set; } /// <summary> /// 郵箱密碼(默認為發送者郵箱的密碼),默認格式GB2312 /// </summary> public string Password { get; set; } /// <summary> /// 郵箱優先級 /// </summary> public MailPriority MailPriority { get; set; } /// <summary> /// 郵件正文編碼格式 /// </summary> public Encoding Encoding { get; set; } /// <summary> /// 構造參數,發送郵件,使用方法備注:公開方法中調用 /// </summary> public int Send() { var mailMessage = new MailMessage(); //讀取To 接收者郵箱列表 try { if (this.To != null && this.To.Count > 0) { foreach (string to in this.To) { if (string.IsNullOrEmpty(to)) continue; mailMessage.To.Add(new MailAddress(to.Trim())); } } //讀取Cc 抄送者郵件地址 if (this.Cc != null && this.Cc.Length > 0) { foreach (var cc in this.Cc) { if (string.IsNullOrEmpty(cc)) continue; mailMessage.CC.Add(new MailAddress(cc.Trim())); } } //讀取Attachments 郵件附件 if (this.Attachments != null && this.Attachments.Length > 0) { foreach (var attachment in this.Attachments) { if (string.IsNullOrEmpty(attachment)) continue; mailMessage.Attachments.Add(new Attachment(attachment)); } } //讀取Bcc 秘抄人地址 if (this.Bcc != null && this.Bcc.Length > 0) { foreach (var bcc in this.Bcc) { if (string.IsNullOrEmpty(bcc)) continue; mailMessage.Bcc.Add(new MailAddress(bcc.Trim())); } } //讀取From 發送人地址 mailMessage.From = new MailAddress(this.From); //郵件標題 Encoding encoding = Encoding.GetEncoding("GB2312"); mailMessage.Subject = this.Subject; //郵件正文是否為HTML格式 mailMessage.IsBodyHtml = this.IsBodyHtml; //郵件正文 mailMessage.Body = this.Body; mailMessage.BodyEncoding = this.Encoding; //郵件優先級 mailMessage.Priority = this.MailPriority; //發送郵件代碼實現 var smtpClient = new SmtpClient { Host = this.Host, EnableSsl = true, Credentials = new NetworkCredential(this.UserName, this.Password) }; //加這段之前用公司郵箱發送報錯:根據驗證過程,遠程證書無效 //加上后解決問題 ServicePointManager.ServerCertificateValidationCallback = delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; }; //認證 smtpClient.Send(mailMessage); return 1; } catch (Exception ex) { var loger = LogManager.GetLogger(typeof(emailHandle)); loger.Info(string.Format("發送郵件異常,收信郵箱:{0}", this.To[0]), ex); return -1; } } } }
到此,相信大家對“C#怎么調用QQ_Mail發送郵件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。