当前位置:编程学习 > asp >>

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

方法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个方法,都测试通过,分享给大家。
 
 
 
 
 
 
补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,