欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET 3.5 中实现发送email电子邮件

程序员文章站 2022-08-11 10:51:03
方法1:cs代码   using System.Net.Mail; using System.Net;   string mailServerName...
方法1:cs代码

 

using System.Net.Mail;

using System.Net;

 

string mailServerName = "smtp.qq.com";  //发送邮件的SMTP服务器

        string mailFrom = "xxxxxx@qq.com";   //发件人邮箱(用126的邮件服务器,就必须用126邮箱的用户名)

        string mailTo = "xxxxxx@qq.com";   //收件人邮箱

        string subject = "用代码方式发送邮件";//邮件主题

        string body = "这里是邮件正文了";  //邮件正文

 

        using (MailMessage message = new MailMessage(mailFrom, mailTo, subject, body))

        {

            //SmtpClient是发送邮件的主体,这个构造函数是告知SmtpClient发送邮件时使用哪个SMTP服务器

            SmtpClient mailClient = new SmtpClient(mailServerName);

            //将认证实例赋予mailClient,也就是访问SMTP服务器的用户名和密码

            mailClient.Credentials = new NetworkCredential("xxx", "xxxxxx");

            //最终的发送方法

            mailClient.Send(message);

        }

        Response.Write("发送成功");

 

 

 

方法2:cs代码+web.config

 

在web.confg中添加如下代码

 

  <system.net>

    <!--如果是第三方smtp服务器,需要指定userName 和 password,并根据host指定发件人邮件地址from

         测试发现from值必须是userName值加上指定的smpt服务器才行,而且是必须指定的

         如果是本机smtp服务器,只需指定defaultCredentials="true"即可-->

    <mailSettings>

      <smtp deliveryMethod="Network" from ="xxxxxx@qq.com" >

        <network host="smtp.qq.com" port="25" userName="xxx" password="xxxxxx" />

      </smtp>

    </mailSettings>

  </system.net>

 

 

 

using System.Net.Mail;

 

using (MailMessage message = new MailMessage())

        {

            message.To.Add(new MailAddress("xxxxxxx@qq.com")); //收件人邮箱

            message.Subject = "通过配置文件设置发送邮件";//邮件主题

            message.Body = "这里是邮件正文了";  //邮件正文

 

            SmtpClient mailClient = new SmtpClient();

            mailClient.Send(message);

            Response.Write("发送成功");

        }

 

 

 

方法3:cs代码(函数)

 

using System.Net.Mail;

using System.Text;

 

public bool SendEmail(string mailTo, string mailSubject, string mailContent)

    {

        // 设置发送方的邮件信息,例如使用网易的smtp 

        string smtpServer = "smtp.qq.com"; //SMTP服务器 

        string mailFrom = "XXXXX@qq.com"; //登陆用户名

        string userPassword = "XXX";//登陆密码 

        // 邮件服务设置 SmtpClient

        SmtpClient smtpClient = new SmtpClient();

        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;

        //指定电子邮件发送方式

        smtpClient.Host = smtpServer;

        //指定SMTP服务器 

        smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名和密码

        // 发送邮件设置 

        MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人 

        mailMessage.Subject = mailSubject;//主题 

        mailMessage.Body = mailContent;//内容

        mailMessage.BodyEncoding = Encoding.UTF8;//正文编码 

        mailMessage.IsBodyHtml = true;//设置为HTML格式

        mailMessage.Priority = MailPriority.Low;//优先级 

        try

        {

            smtpClient.Send(mailMessage);// 发送邮件 

            return true; 

        }

        catch (SmtpException ex)

        {

            return false;

        }

    }

 

 

 

bool result = this.SendEmail("xxxxxxxx@qq.com", "邮件EMAIL主题", "邮件Email内容");

        if (result)

        {

            Response.Write("发送成功");

        }

        else

        {

            Response.Write("发送失败");

        }

 

 

 

以上3个方法,都测试通过,分享给大家。