asp.net发送邮件时在正文中插入图片
生活随笔
收集整理的這篇文章主要介紹了
asp.net发送邮件时在正文中插入图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#region 發送郵件
??????? /// <summary>
??????? /// 通過附件發送郵件
??????? /// </summary>
??????? /// <param name="emailFrom">發送人郵箱地址</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.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; try
??????????? {
??????????????? Client.Send(Email);
??????????? }
??????????? catch (SmtpFailedRecipientsException ex)
??????????? {
??????????????? for (int i = 0; i < ex.InnerExceptions.Length; i++)
??????????????? {
??????????????????? SmtpStatusCode status = ex.InnerExceptions[i].StatusCode;
??????????????????? if (status == SmtpStatusCode.MailboxBusy || status == SmtpStatusCode.MailboxUnavailable)
??????????????????? {
??????????????????????? //Response.Write("Delivery failed - retrying in 5 seconds.");
??????????????????????? System.Threading.Thread.Sleep(5000);
??????????????????????? Client.Send(Email);
??????????????????? }
??????????????? }
??????????? }
??????????? catch (Exception ex)
??????????? {
??????????????? return false;
??????????? }
??????????? finally
??????????? {
??????????????? for (int i = 0; i < Email.Attachments.Count; i++) //釋放占用excel資源
??????????????? {
??????????????????? Email.Attachments[i].Dispose();
??????????????? }
??????????? }
??????????? return true;
??????? }
??????? #endregion
轉載于:https://www.cnblogs.com/shengtianlong/archive/2010/09/16/1828173.html
總結
以上是生活随笔為你收集整理的asp.net发送邮件时在正文中插入图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python使用百度api翻译中英文
- 下一篇: java入门5-asp.net关注