今天BOSS要求做一个项目批准后群发邮件的提示功能,想了想挺简单的。。。
第一步:写一个邮件发送类,别忘了引用using System.Net.Mail;代码如下:
/// <summary> /// 邮件发送类(由于公司是代理上网。所以此类只能发送内部网的邮件。) /// </summary> ///<param name="pHost">主机IP</param> /// <param name="pEmailUserId">发件人邮箱登录名</param> /// <param name="pEmailUserPassword">发件人邮箱登录密码</param> /// <param name="pReceiveEmail">收件人邮箱地址</param> /// <param name="pSendEmail">发件人邮箱地址</param> /// <param name="pTitleEmail">电子邮件主题</param> /// <param name="pBodyEmail">邮件正文</param> /// <returns></returns> public static bool sendEmail(string pHost,string pEmailUserId, string pEmailUserPassword, string pReceiveEmail, string pSendEmail, string pTitleEmail,string pBodyEmail) { SmtpClient client = new SmtpClient(); client.Host = pHost; client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(pEmailUserId, pEmailUserPassword); client.DeliveryMethod = SmtpDeliveryMethod.Network; MailMessage message = new MailMessage(pSendEmail, pReceiveEmail); message.IsBodyHtml = true; message.Subject = pTitleEmail; message.SubjectEncoding = System.Text.Encoding.UTF8;//主题编码方式 message.Body = pBodyEmail; message.Priority = MailPriority.Normal;//邮件优先级 message.BodyEncoding = System.Text.Encoding.UTF8;//邮件正文编码方式 try { client.Send(message); return true; } catch (Exception err) { return false; } }
第二步:写一个邮件正文内容显示的函数,返回string类型即可。
第三步:由于用户注册信息含有Email地址,这里只需要根据权限从数据库中循环读取即可(由于信息保密这里不掩饰了)。
各位大神们有没有更好的方法,分享分享。。。