C# 发送邮件

using System;
using System.Net.Mail;
using System.Net;

/// <summary>
/// 说明:在.net2.0以上版本中发送电子邮件的方法示例
/// 用到的类主要位于System.Net.Mail和System.Net命名空间下
/// 作者:周公
/// 日期:2008-08-08
/// 首发地址:http://blog.csdn.net/zhoufoxcn
/// </summary>
public class SendMail2
{
   
public SendMail2()
    {
    }

   
/// <summary>
   
/// 发送邮件
   
/// </summary>
   
/// <param name="to">收件人邮件地址</param>
   
/// <param name="from">发件人邮件地址</param>
   
/// <param name="subject">邮件主题</param>
   
/// <param name="body">邮件内容</param>
   
/// <param name="username">登录smtp主机时用到的用户名,注意是邮件地址'@'以前的部分</param>
   
/// <param name="password">登录smtp主机时用到的用户密码</param>
   
/// <param name="smtpHost">发送邮件用到的smtp主机</param>
    public void Send(string to, string from, string subject, string body, string userName, string password, string smtpHost)
    {
        MailAddress
from = new MailAddress(from);
        MailAddress to
= new MailAddress(to);
        MailMessage message
= new MailMessage(from, to);
        message.Subject
= subject;//设置邮件主题
        message.IsBodyHtml = true;//设置邮件正文为html格式
        message.Body = body;//设置邮件内容
        SmtpClient client = new SmtpClient(smtpHost);
       
//设置发送邮件身份验证方式
       
//注意如果发件人地址是abc@def.com,则用户名是abc而不是abc@def.com
        client.Credentials = new NetworkCredential(userName, password);
        client.Send(message);
    }
}

 

在上面的代码中,主要用到了在.net2.0中新增的两个类,分别是System.Net.Mail.MailMessage和System.Net.Mail.SmtpClient两个类,在SMTP身份验证方面用到了System.Net.NetworkCredential类。



需要注意的是:不管是在那种方式下,身份验证用到的帐号是网页登录是用到的帐号,如果你的邮箱地址是zhou@163.com,在登录mail.163.com邮箱的时候,输入的帐号是zhou而不是zhou@163.com,身份验证的时候也是如此。

 

 

 

示例:

private void button1_Click(object sender, EventArgs e)
      {
          SmtpClient client = new SmtpClient();
          client.Host = "smtp.163.com";
          client.Port = 25;
          NetworkCredential nc = new NetworkCredential();
          nc.UserName = "保密";//mail.163.com上的帐号
          nc.Password = "保密";//密码

          client.Credentials = nc;

          MailMessage msg = new MailMessage();
          msg.Subject = "welcome";
          msg.Body = "test ok";
          msg.From = new MailAddress("yangglemu@163.com");
          msg.To.Add(new MailAddress("591811930@qq.com"));

          client.Send(msg);
      }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值