一、常見的郵箱類型有哪些?
部分免費郵件SMTP服務器參考設置:
另外如果是公司的郵箱發,如果host是exchange的話,端口也要用587而不是25.
一般企業的郵箱發送都不需要lient.EnableSsl = true;所以這行可以識具體情況添加。如果提識沒有相應的證書且就把lient.EnableSsl = true去掉即可。當然發送郵件是採用同步還是異步的方式就看項目要求了,如果採用同步發送,主UI界面會阻塞,所以最好是另外開一個線程來發郵件。郵件狀態可以通過委託來實現郵件發送狀態的顯示。
二、利用.net 的相關類庫進行郵件發送
在.net2.0及之後版本,用System.Net.Mail發送郵件。主要用到了在.net2.0中新增的兩個類,分別是System.Net.Mail.MailMessage和System.Net.Mail.SmtpClient兩個類,在SMTP身份驗證方面用到了System.Net.NetworkCredential類。
1. MailMessage 類表示郵件的內容
MailMessage常用屬性
組織好電子郵件後,可以使用 Send 或 SendAsync 方法發送郵件
2. SmtpClient類用於將電子郵件發送到 SMTP 服務器以便傳遞
SmtpClient常用屬性
實例代碼
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Mail; namespace Mail_test { public partial class Form2 : Form { public Form2() { InitializeComponent(); } /// <summary> /// 發送郵件程序 /// </summary> /// <param name="from">發送人郵件地址</param> /// <param name="fromname">發送人顯示名稱</param> /// <param name="to">發送給誰(郵件地址)</param> /// <param name="subject">標題</param> /// <param name="body">內容</param> /// <param name="username">郵件登錄名</param> /// <param name="password">郵件密碼</param> /// <param name="server">郵件服務器</param> /// <param name="fujian">附件</param> /// <returns>send ok</returns> /// 調用方法 SendMail("[email protected]", "某某人", "[email protected]", "你好", "我測試下郵件", "郵箱登錄名", "郵箱密碼", "smtp.126.com", ""); private void button1_Click(object sender, EventArgs e) { string from = "從哪個郵箱發送"; string fromname = "發送名字"; string to="發送到哪個郵箱"; string subject = "TEST"; string body = "Excuse me,this is a test mail"; string server = "郵箱服務器名稱"; string username = "賬號"; string password = "密碼"; try { MailMessage mail = new MailMessage();//郵件發送類 mail.From = new MailAddress(from, fromname);//是誰發送的郵件 mail.To.Add(to); //mail.To.Add(new MailAddress(to, toname));//發送給誰 或者簡短的用 mail.To.Add(to) mail.Subject = subject; //標題 mail.BodyEncoding = Encoding.Default; //內容編碼 mail.Priority = MailPriority.Normal;//發送優先級 mail.Body = body;//郵件內容 mail.IsBodyHtml = false;//是否HTML形式發送 SmtpClient smtp = new SmtpClient(server, 25);//郵件服務器和端口 smtp.UseDefaultCredentials = false; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //指定發送方式 smtp.Credentials = new System.Net.NetworkCredential(username, password);//指定登錄名和密碼 smtp.Timeout = 10000;//超時時間 //smtp.EnableSsl = true;//經過ssl加密 smtp.Send(mail); //return "send ok"; } catch (Exception exp) { MessageBox.Show(exp.Message); } } } }