C# 通过SMTP 的HTML格式 发送邮件

 

内容填充 例子是个表格

  public String EmailContentHtmlCopy(String overdueMailType, List<pmEmailConfig> list_Eail, List<OverdueMail_ViewCopy> list_location)
        {
            String MailReceiverNames = String.Join(",", list_Eail.Select(s => s.NAME).Distinct().ToList());

            String RECEIVE_BUILDING = list_Eail[0].BUILDING;
            if (constant.buildingDic.ContainsKey(list_Eail[0].BUILDING)) RECEIVE_BUILDING = constant.buildingDic[(list_Eail[0].BUILDING)];

            StringBuilder htmlBuilder = new StringBuilder();
            htmlBuilder.Append("<h1 align='center' style='text-align:center'>" + overdueMailType + "<span lang='EN-US'></span></h1>");
            htmlBuilder.Append("<table class='MsoNormalTable' border='0' cellspacing='0' cellpadding='0' width='100%' style='width:100.0%; border-collapse:collapse'>");
            htmlBuilder.Append("<tbody>");
            htmlBuilder.Append("<tr style='height:22.5pt'>");
            htmlBuilder.Append("<td width='25%' style='width:25.0%; border:solid #A6B9F1 1.0pt; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>标题<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td width='25%' style='width:25.0%; border:solid #A6B9F1 1.0pt; border-left:none; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>" + overdueMailType + "<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td width='25%' style='width:25.0%; border:solid #A6B9F1 1.0pt; border-left:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>流程发起人<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td width='25%' style='width:25.0%; border:solid #A6B9F1 1.0pt; border-left:none; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>系统管理员<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("</tr>");
            htmlBuilder.Append("<tr style='height:22.5pt'>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-top:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>部门<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>" + RECEIVE_BUILDING + "<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>当前日期<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span lang='EN-US' style='font-size:10.0pt'>" + DateTime.Now.ToString("yyyy-MM-dd") + "</span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("</tr>");
            htmlBuilder.Append("<tr style='height:22.5pt'>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-top:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>班组成员<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>" + MailReceiverNames + "<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>维护工序<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal'><span style='font-size:10.0pt'>" + list_Eail[0].LOCATION + "<span lang='EN-US'></span></span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("</tr>");
            htmlBuilder.Append("</tbody>");
            htmlBuilder.Append("</table>");

            htmlBuilder.Append("<p class='MsoNormal' style='margin-bottom:12.0pt'><span lang='EN-US'>&nbsp;</span></p>");
            htmlBuilder.Append("<table class='MsoNormalTable' border='0' cellspacing='0' cellpadding='0' width='100%' style='width:100.0%; border-collapse:collapse'>");
            htmlBuilder.Append("<tbody>");
            htmlBuilder.Append("<tr style='height:22.5pt'>");
            htmlBuilder.Append("<td colspan='10' style='border:solid #A6B9F1 1.0pt; border-bottom:none; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span lang='EN-US' style='font-size:10.0pt'>&nbsp;</span></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("</tr>");
            htmlBuilder.Append("<tr style='height:22.5pt'>");
            htmlBuilder.Append("<td width='60' style='width:30.0pt; border:solid #A6B9F1 1.0pt; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><b><span style='font-size:10.0pt'>序号<span lang='EN-US'></span></span></b></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-left:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><b><span style='font-size:10.0pt'>周期文本<span lang='EN-US'></span></span></b></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-left:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><b><span style='font-size:10.0pt'>设备号<span lang='EN-US'></span></span></b></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-left:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><b><span style='font-size:10.0pt'>设备型号<span lang='EN-US'></span></span></b></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-left:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><b><span style='font-size:10.0pt'>设备描述<span lang='EN-US'></span></span></b></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-left:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><b><span style='font-size:10.0pt'>公司编码<span lang='EN-US'></span></span></b></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-left:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><b><span style='font-size:10.0pt'>存放位置<span lang='EN-US'></span></span></b></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-left:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><b><span style='font-size:10.0pt'>工序<span lang='EN-US'></span></span></b></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-left:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><b><span style='font-size:10.0pt'>维护项目<span lang='EN-US'></span></span></b></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-left:none; background:#BECAEC; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
            htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><b><span style='font-size:10.0pt'>计划日期<span lang='EN-US'></span></span></b></p>");
            htmlBuilder.Append("</td>");
            htmlBuilder.Append("</tr>");

            int i = 1;
            foreach (var li in list_location)
            {
                String cycletime = li.CYCLE_TIME.ToString();
                if (constant.cycleDic.ContainsKey(cycletime)) cycletime = constant.cycleDic[cycletime];

                String OCCUR_DATE = String.Format("{0:yyyy-MM-dd}", li.OCCUR_DATE);
                String NEXT_OCCUR_DATE = String.Format("{0:yyyy-MM-dd}", li.NEXT_OCCUR_DATE);


                htmlBuilder.Append("<tr style='height:22.5pt'>");
                htmlBuilder.Append("<td style='border:solid #A6B9F1 1.0pt; border-top:none; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
                htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span lang='EN-US' style='font-size:10.0pt'>" + i + "</span></p>");
                htmlBuilder.Append("</td>");
                htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
                htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span style='font-size:10.0pt'>" + cycletime + "<span lang='EN-US'></span></span></p>");
                htmlBuilder.Append("</td>");
                htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
                htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span lang='EN-US' style='font-size:10.0pt'>" + li.EQUIP_ID + "</span></p>");
                htmlBuilder.Append("</td>");
                htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
                htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span lang='EN-US' style='font-size:10.0pt'>" + li.EQUIP_MODEL + "</span></p>");
                htmlBuilder.Append("</td>");
                htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
                htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span style='font-size:10.0pt'>" + li.E_EQUIP_DESC + "<span lang='EN-US'></span></span></p>");
                htmlBuilder.Append("</td>");
                htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
                htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span lang='EN-US' style='font-size:10.0pt'>None</span></p>");
                htmlBuilder.Append("</td>");
                htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
                htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span lang='EN-US' style='font-size:10.0pt'>None</span></p>");
                htmlBuilder.Append("</td>");
                htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
                htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span style='font-size:10.0pt'>" + li.LOCATION + "<span lang='EN-US'></span></span></p>");
                htmlBuilder.Append("</td>");
                htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
                htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span lang='EN-US' style='font-size:10.0pt'>None</span></p>");
                htmlBuilder.Append("</td>");
                htmlBuilder.Append("<td style='border-top:none; border-left:none; border-bottom:solid #A6B9F1 1.0pt; border-right:solid #A6B9F1 1.0pt; padding:.75pt .75pt .75pt .75pt; height:22.5pt'>");
                //htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span lang='EN-US' style='font-size:10.0pt'>"+ OCCUR_DATE + "</span></p>");
                htmlBuilder.Append("<p class='MsoNormal' align='center' style='text-align:center'><span lang='EN-US' style='font-size:10.0pt'>" + NEXT_OCCUR_DATE + "</span></p>");
                htmlBuilder.Append("</td>");
                htmlBuilder.Append("</tr>");
                ++i;
            }

            return htmlBuilder.ToString();
        }

 

发送代码
    var smtpClient = new SmtpClient();
                var mailMessage = new MailMessage();
                smtpClient.Host = ConfigurationManager.AppSettings["MailHost"];//指定发送邮件的服务器地址或IP,如smtp.163.com
                var mailname = ConfigurationManager.AppSettings["MailFrom"];//发件人邮箱用户名
                var mailpsd = ConfigurationManager.AppSettings["MailPassWord"];//发件人邮箱密码
                smtpClient.Port = 25; //指定发送邮件端口 
                smtpClient.UseDefaultCredentials = false;
                var userName = ConfigurationManager.AppSettings["MailUserName"];
                smtpClient.Credentials = new System.Net.NetworkCredential(userName, mailpsd);
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                mailMessage.BodyEncoding = Encoding.UTF8;
                mailMessage.IsBodyHtml = true;//是否为html格式 
                mailMessage.Priority = MailPriority.High;//发送邮件的优先等级 
                mailMessage.From = new MailAddress(mailname);
                foreach (var mailtoads in email.MailReceiver) mailMessage.To.Add(mailtoads);
                #region---------------------------------------------------------------------
                #endregion
                mailMessage.Subject = email.MailSubject;//邮件主题 
                mailMessage.Body = GetBody(email.MailContent);//邮件内容
                //发送E-Mail
                smtpClient.Send(mailMessage);
posted @ 2023-06-12 17:08  三五八团楚云飞  阅读(369)  评论(0)    收藏  举报