C# 羣發 HTML格式 帶附件 中文發送者 密送 抄送 的郵件 .

對於.NET而言,從2.0開始,發郵件已經是一件非常easy的事了。下面我給出一個用C#羣發郵件的實例,做了比較詳細的註解,希望對有需要的朋友有所help。看了這篇BLOG,如果你還不會用.NET發郵件,要麼你去死,要麼還是你去死

Let’s Go !!

// 引入命名空間usingSystem.Net;usingSystem.Net.Mail;
SmtpClient smtp =newSmtpClient();//實例化一個SmtpClientsmtp.DeliveryMethod = SmtpDeliveryMethod.Network;//將smtp的出站方式設爲 Networksmtp.EnableSsl = false;//smtp服務器是否啓用SSL加密
smtp.Host = "smtp.163.com";//指定 smtp 服務器地址smtp.Port = 25;//指定 smtp 服務器的端口,默認是25,如果採用默認端口,可省去
//如果你的SMTP服務器不需要身份認證,則使用下面的方式,不過,目前基本沒有不需要認證的了smtp.UseDefaultCredentials =true;//如果需要認證,則用下面的方式smtp.Credentials =newNetworkCredential("郵箱帳號@163.com", "郵箱密碼");
MailMessage mm =newMailMessage();//實例化一個郵件類
mm.Priority = MailPriority.High;//郵件的優先級,分爲 Low, Normal, High,通常用 Normal即可
mm.From =newMailAddress("郵箱帳號@163.com", "真有意思", Encoding.GetEncoding(936));//收件方看到的郵件來源;//第一個參數是發信人郵件地址//第二參數是發信人顯示的名稱//第三個參數是 第二個參數所使用的編碼,如果指定不正確,則對方收到後顯示亂碼//936是簡體中文的codepage值

注:上面的郵件來源,一定要和你登錄郵箱的帳號一致,否則會認證失敗

mm.ReplyTo =newMailAddress("[email protected]", "我的接收郵箱", Encoding.GetEncoding(936));//ReplyTo 表示對方回覆郵件時默認的接收地址,即:你用一個郵箱發信,但卻用另一個來收信//上面後兩個參數的意義, 同 From 的意義
mm.CC.Add("[email protected],[email protected],[email protected]");//郵件的抄送者,支持羣發,多個郵件地址之間用 半角逗號 分開//當然也可以用全地址,如下:mm.CC.Add(newMailAddress("[email protected]", "抄送者A", Encoding.GetEncoding(936)));
mm.CC.Add(newMailAddress("[email protected]", "抄送者B", Encoding.GetEncoding(936)));
mm.CC.Add(newMailAddress("[email protected]", "抄送者C", Encoding.GetEncoding(936)));

mm.Bcc.Add("[email protected],[email protected]");//郵件的密送者,支持羣發,多個郵件地址之間用 半角逗號 分開//當然也可以用全地址,如下:mm.CC.Add(newMailAddress("[email protected]", "密送者D", Encoding.GetEncoding(936)));
mm.CC.Add(newMailAddress("[email protected]", "密送者E", Encoding.GetEncoding(936)));
mm.Sender =newMailAddress("[email protected]", "郵件發送者", Encoding.GetEncoding(936));//可以任意設置,此信息包含在郵件頭中,但並不會驗證有效性,也不會顯示給收件人//說實話,我不知道有啥實際作用,大家可不理會,也可不寫此項
mm.To.Add("[email protected],[email protected]");//郵件的接收者,支持羣發,多個地址之間用 半角逗號 分開//當然也可以用全地址添加mm.To.Add(newMailAddress("[email protected]", "接收者g", Encoding.GetEncoding(936));
mm.To.Add(newMailAddress("[email protected]", "接收者h", Encoding.GetEncoding(936));
mm.Subject = "這是郵件標題";//郵件標題mm.SubjectEncoding = Encoding.GetEncoding(936);// 這裏非常重要,如果你的郵件標題包含中文,這裏一定要指定,否則對方收到的極有可能是亂碼。// 936是簡體中文的pagecode,如果是英文標題,這句可以忽略不用
mm.IsBodyHtml =true;//郵件正文是否是HTML格式mm.BodyEncoding = Encoding.GetEncoding(936);//郵件正文的編碼, 設置不正確, 接收者會收到亂碼mm.Body = "<font color=/"red/">郵件測試,呵呵</font>";//郵件正文
mm.Attachments.Add(newAttachment( @"d:/a.doc", System.Net.Mime.MediaTypeNames.Application.Rtf ) );//添加附件,第二個參數,表示附件的文件類型,可以不用指定//可以添加多個附件mm.Attachments.Add(newAttachment( @"d:/b.doc") );
smtp.Send( mm );//發送郵件,如果不返回異常, 則大功告成了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章