<span id="more-1794"></span> using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Mail; using System.Net.Mime; using System.IO; using System.Timers; using System.Xml; using System.Net; namespace TEST.SUBUNIT { public class EmailHelper { public MailMessage mailMessage(string fromAddress,string desemailuser, string toAddress, string emailSubject, string emailText) //郵件的發送收者,支援群發,多個地址之間用 半形逗號 分開 { MailMessage mm = new MailMessage(); mm.To.Add("abc@qq.com"); //mm.To.Add(toAddress);//暫時屏蔽 ////抄送 mm.CC.Add(new MailAddress("11@qq.com", "張三", Encoding.GetEncoding(936))); mm.CC.Add(new MailAddress("22@qq.com", "李四", Encoding.GetEncoding(936))); mm.CC.Add(new MailAddress("33@126.com", "王五", Encoding.GetEncoding(936))); //mm.Bcc.Add("44@qq.com,44@qq.com"); mm.From = new MailAddress(fromAddress, desemailuser.Length>0?desemailuser:fromAddress, Encoding.GetEncoding(936)); mm.SubjectEncoding = Encoding.GetEncoding(936);//這裡非常重要,如果你的郵件標題包含中文,這裡一定要指定,否則對方收到的極有可能是亂碼。 mm.Subject = emailSubject; //郵件標題 mm.IsBodyHtml = true; //郵件內文是否是HTML格式 mm.BodyEncoding = Encoding.GetEncoding(936); //郵件內文的編碼, 設定不正確, 接收者會收到亂碼 //------------------------------------------------------------------------- emailText += "這是要正確發送的郵箱:" + toAddress; mm.Body = emailText;//郵件內文 mm.Priority = MailPriority.High; //郵件的優先順序,分為 Low, Normal, High,通常用 Normal即可 //mm.Attachments.Add(new Attachment(@"d:a.doc",System.Net.Mime.MediaTypeNames.Application.Rtf)); ////第二個參數,表示附件的檔案類型,可以不用指定 return mm; } public bool sendEmail(string fromemailaddress, string toemailaddress,string emailtitle,string emailcontent,string host,string port,string fromemailuser,string desemailuser,string fromemailpass) { bool b=false; string message=string.Empty; MailMessage mailessage =this.mailMessage(fromemailaddress,desemailuser,toemailaddress,emailtitle,emailcontent); SmtpClient smtp = new SmtpClient(); //執行個體化一個SmtpClient smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //將smtp的出站方式設為 Network smtp.EnableSsl = false;//smtp伺服器是否啟用SSL加密 smtp.Host = host; //指定 smtp 伺服器位址 smtp.Port = int.Parse(port); //指定 smtp 伺服器的連接埠,預設是25 smtp.Credentials = new NetworkCredential(fromemailuser, fromemailpass);//認證 try { smtp.Send(mailessage); b = True; message= "發送成功!"; } catch (System.Net.Mail.SmtpException ex) { b = False; message= "發送失敗!"; } return b; } } } |