日期:2014-05-17  浏览次数:21172 次

C#发送邮件时在正文中插入图片(邮件中直接包含图片)

#region 发送邮件
??????? /// <summary>
??????? /// 通过附件发送邮件
??????? /// </summary>
??????? /// <param name="emailFrom">发送人邮箱地址</param>

??????? /// <param name="files">图片地址</param>
??????? /// <param name="emailFromName">发送人姓名</param>
??????? /// <param name="zsrList">收件人集合</param>
??????? /// <param name="csrList">抄送人集合</param>
??????? /// <param name="arrFilePath">附件路径</param>
??????? /// <param name="mailSubject">主题</param>
??????? /// <param name="mailBody">正文内容</param>
??????? /// <returns></returns>
??????? public static bool SendEmail(string emailFrom, string[] files, string emailFromName, IList<CSR> zsrList, IList<CSR> csrList, ArrayList arrFilePath, string mailSubject, string mailBody)
??????? {
??????????? MailMessage Email = new MailMessage();
??????????? try
??????????? {
??????????????? MailAddress EmailFrom = new MailAddress(emailFrom, emailFromName); //创建发件人邮箱地址对象
??????????????? Email.From = EmailFrom; //指定发件人
??????????????? Email.CC.Add(EmailFrom); //将发件人作为抄送人发一份
??????????????? for (int i = 0; i < zsrList.Count; i++) //循环添加主送人邮箱地址对象
??????????????? {
??????????????????? MailAddress zsrAddr = new MailAddress(zsrList[i].EMAIL, zsrList[i].NAME);
??????????????????? Email.To.Add(zsrAddr);
??????????????? }
??????????????? for (int i = 0; i < csrList.Count; i++) //循环添加抄送人邮箱地址对象
??????????????? {
??????????????????? MailAddress csrAddr = new MailAddress(csrList[i].EMAIL, csrList[i].NAME);
??????????????????? Email.CC.Add(csrAddr);
??????????????? }
??????????? }
??????????? catch
??????????? {
??????????????? return false;
??????????? }
??????????? Email.IsBodyHtml = true;
??????????? Email.BodyEncoding = System.Text.Encoding.UTF8;
??????????? Email.Body += mailBody;
??????????? for (int i = 0; i < files.Length; i++)
??????????? {
??????????????? System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(files[i]);
??????????????? Email.Attachments.Add(attachment);
??????????????? Email.Body += "<img src=\"cid:" + attachment.ContentId + "\"/>";
? Email.Body +="<br><font color=red>400电话 受理中心欢迎您的光临,网址:http://www.my400800.cn </a>";
??????????? }
??????????? Email.Priority = MailPriority.High;
??????????? //邮件主题
??????????? Email.Subject = mailSubject;
??????????? Email.SubjectEncoding = Encoding.GetEncoding(936);
??????????? //邮件附件
??????????? for (int i = 0; i < arrFilePath.Count; i++)
??????????? {
??????????????? string file = arrFilePath[i].ToString(); //附件路径
??????????????? Attachment data = new Attachment(file, System.Net.Mime.MediaTypeNames.Application.Octet);
??????????????? // Add time stamp information for the file.
??????????????? System.Net.Mime.ContentDisposition disposition = data.ContentDisposition;
??????????????? disposition.CreationDate = System.IO.File.GetCreationTime(file);
??????????????? disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
??????????????? disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
??????????????? // Add the file attachment to this e-mail message.
??????????????? Email.Attachments.Add(data);
??????????? }
??????????? SmtpClient Client = new SmtpClient("172.30.1.13");
??????????? Client.UseDefaultCredentials = false;
??????????? Client.Credentials = new System.Net.NetworkCredential("shoa", "shnetweb.1234");
??????????? Client.DeliveryMethod = SmtpDeliveryMethod.Network;
??????