利用asp.net实现群发邮件功能

作者:袖梨 2022-06-25

本文实例讲述了asp.net实现的群发邮件功能。分享给大家供大家参考,具体如下:

测试时用的是qq邮箱,成功的前提是要在邮箱设置中打开smtp服务功能,如qq邮箱设置里面的账户选项卡里面把需要的功能勾上:

其他邮箱的话原理一样~~~~~~

 

 代码如下复制代码

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Net.Mail;

usingSystem.Web;

namespaceMailSend

{

  publicclassSendEmail

  {

    ///

    /// 群发邮件函数

    ///

    ///发送的主题

    ///发送的内容

    ///收件人列表,通过|来分割开来,可以自己定义

    ///发送附件的地址,获取了路径后上传

    publicstaticvoidSend(stringsubject,stringbody,stringemail_list,stringFile_Path)

    {

      stringMailUser ="[email protected]";//我测试的是qq邮箱,其他邮箱一样的道理

      stringMailPwd ="你的密码";//邮箱密码

      stringMailName ="测试";

      stringMailHost ="smtp.exmail.qq.com";//根据自己选择的邮箱来查询smtp的地址

      MailAddress from =newMailAddress(MailUser, MailName);//邮件的发件人

      MailMessage mail =newMailMessage();

      //设置邮件的标题

      mail.Subject = subject;

      //设置邮件的发件人

      //Pass:如果不想显示自己的邮箱地址,这里可以填符合mail格式的任意名称,真正发mail的用户不在这里设定,这个仅仅只做显示用

      mail.From = from;

      //设置邮件的收件人

      stringaddress ="";

      //传入多个邮箱,用“|”分割开,可以自己自定义,再通过mail.To.Add()添加到列表

      string[] email = email_list.Split('|');

      foreach(stringnameinemail)

      {

        if(name !=string.Empty)

        {

          address = name;

          mail.To.Add(newMailAddress(address));

        }

      }

      //设置邮件的抄送收件人

      //这个就简单多了,如果不想快点下岗重要文件还是CC一份给领导比较好

      //mail.CC.Add(new MailAddress("[email protected]", "尊敬的领导");

      //设置邮件的内容

      mail.Body = body;

      //设置邮件的格式

      mail.BodyEncoding = System.Text.Encoding.UTF8;

      mail.IsBodyHtml =true;

      //设置邮件的发送级别

      mail.Priority = MailPriority.Normal;

      //设置邮件的附件,将在客户端选择的附件先上传到服务器保存一个,然后加入到mail中

      if(File_Path !="")

      {

        mail.Attachments.Add(newAttachment(File_Path));

        mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;

      }

      SmtpClient client =newSmtpClient();

      //设置用于 SMTP 事务的主机的名称,填IP地址也可以了

      client.Host = MailHost;

      //设置用于 SMTP 事务的端口,默认的是 25

      client.Port = 25;

      client.UseDefaultCredentials =false;

      //这里才是真正的邮箱登陆名和密码, 我的用户名为 MailUser ,我的密码是 MailPwd

      client.Credentials =newSystem.Net.NetworkCredential(MailUser, MailPwd);

      client.DeliveryMethod = SmtpDeliveryMethod.Network;

      ////如果发送失败,SMTP 服务器将发送 失败邮件告诉我

      mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

      //都定义完了,正式发送了,很是简单吧!

      client.Send(mail);

    }

  }

}

 

希望本文所述对大家asp.net程序设计有所帮助。

相关文章

精彩推荐