Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
System.Net.Mail命名空間是在.NET Framework中新增的,該命名空間提供了發(fā)送電子郵件的功能。通過對本章的學(xué)習(xí),讀者可以輕松地使用.NET Framework提供的類庫來發(fā)送電子郵件。System.Net.Mail 命名空間包含用于將電子郵件發(fā)送到SMTP服務(wù)器的類,這些類需要結(jié)合Microsoft SMTP Server一起使用。
System.Net.Mail 命名空間下有SmtpClient類用于發(fā)送郵件,可以完全代替SmtpMail類。利用SmtpClient類的Send方法可以完成發(fā)送電子郵件的傳 輸,也可以用SendAsync方法進(jìn)行異步發(fā)送,后者發(fā)送完成后會(huì)產(chǎn)生一個(gè)SendCompleted 事件來通知發(fā)送結(jié)果。Send方法可以接受MailMessage類的對象作為參數(shù)。通過MailMessage類可以設(shè)置郵件更多的內(nèi)容和格式,例如,為 Attachment類設(shè)置添加附件的參數(shù)。
SmtpClient 類與SMTP結(jié)合在一起,通過MailMessage類、MailAddress類、Attachment類來豐富電子郵件的內(nèi)容和設(shè)置。圖18-2展示 了用戶通過System.Net.Mail命名空間下的類結(jié)合SMTP發(fā)送電子郵件的過程。
public class SmtpClient
下面的代碼演示如何創(chuàng) 建一個(gè)SmtpClient的實(shí)例。
SmtpClient client = new SmtpClient (“smtp.Sina.com”); //直接通過構(gòu)造函數(shù)設(shè)置SMTP 主機(jī)服務(wù)器
或:
SmtpClient client = new SmtpClient ();
Client. Host =” smtp.Sina.com”; //通過Host屬性來設(shè)置SMTP 主機(jī)服務(wù)器
/// <summary>
/// 郵件處理器
/// </summary>
public class MailHandler
{
private MailMessage _mailMessage;
private string _host;
private string _userName;
private string _password;
public MailHandler()
{
}
接上代碼:
//回執(zhí)地址
var Receipt = "填寫你需要回執(zhí)的地址";
//實(shí)例化兩個(gè)必要的
MailMessage mail = new MailMessage();
SmtpClient smtp = new SmtpClient();
//發(fā)送郵箱地址
mail.From = new MailAddress("發(fā)送郵箱地址");
//收件人(可以群發(fā))
mail.To.Add(new MailAddress("1402173344@qq.com"));
//是否以HTML格式發(fā)送
mail.IsBodyHtml = true;
//主題的編碼格式
mail.SubjectEncoding = Encoding.UTF8;
//郵件的標(biāo)題
mail.Subject = "測試一下發(fā)件的標(biāo)題";
//內(nèi)容的編碼格式
mail.BodyEncoding = Encoding.UTF8;
//郵件的優(yōu)先級
mail.Priority = MailPriority.Normal;
//發(fā)送內(nèi)容,帶一個(gè)圖片標(biāo)簽,用于對方打開之后,回發(fā)你填寫的地址信息
mail.Body = @"獲取打開郵件的用戶IP,圖片由服務(wù)器自動(dòng)生成:<img src='" + Receipt + "'>";
//收件人可以在郵件里面
mail.Headers.Add("Disposition-Notification-To", "回執(zhí)信息");
//發(fā)件郵箱的服務(wù)器地址
smtp.Host = "smtp.163.com";
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Timeout = 1000000;
//是否為SSL加密
smtp.EnableSsl = true;
//設(shè)置端口,如果不設(shè)置的話,默認(rèn)端口為25
smtp.Port = 25;
smtp.UseDefaultCredentials = false;
//驗(yàn)證發(fā)件人的憑據(jù)
smtp.Credentials = new System.Net.NetworkCredential("郵箱賬號(hào)", "郵箱憑據(jù)");
try
{
//發(fā)送郵件
smtp.Send(mail);
Console.WriteLine("發(fā)送成功");
}
catch (Exception e)
{
Console.WriteLine("發(fā)送失敗:" + e.Message);
}
作為一個(gè)實(shí)習(xí)生,入職的第一家公司碰到的一點(diǎn)小挫折,找了好久都沒有找到方法,就詢問了公司前輩,以及帶我的大佬
當(dāng)然,大佬們的幫助給了我很大的啟發(fā),就想著先寫下來,省的以后用得著的時(shí)候給忘記了
也可以算是記錄一下自己剛?cè)肼殨r(shí)候?qū)W習(xí)的步伐,
總之,這是一個(gè)小技巧,大佬看過之后,請多多指點(diǎn)。
smtpClient:允許應(yīng)用程序使用簡單郵件傳輸協(xié)議 (SMTP) 發(fā)送電子郵件。
OpenPop:通過Pop功能收取郵件
ImapClient:通過Imap收取郵件信息
*請認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。