Asp.net (C#)如何发送邮件(.net2.0以上版本)

上几天做了一个简单的邮件发送demo,现在拿出来和大家分享一下,如有不对之处敬请指出:

首先,让我们来了解邮件发送中常用的对象:

SmtpMail:代表邮件系统,用于发送email。
MailMessage:代表一个信息,其属性包括发件人地址、收件人地址等。
MailFormat:代表信息的格式:HTML、文本等。
MailAttachment:代表一个email附件。
MailEncoding enum:代表Base64 或Uuencode的任何编码。
MailPriority enum:用来为信息设置优先权。值为:高、低、一般。

第一步:在ASP.NET 页面中引入System.Net.Mail名称空间。

第二步:呵呵就直接Coding啦~!

public void MailSend()

      try
            {
                MailAddress sendfrom = new MailAddress("发件人地址");  
                MailAddress sendto = new MailAddress("收件人地址" );  
                MailMessage message = new MailMessage("sendfrom" , "sendto" );
                message.Subject =“邮件的主题";            
                message.IsBodyHtml = true;
                message.Body = “邮件的内容";

                string smtp = "smtp.163.com";//因为我用的是163的邮箱,所以这里用到的是用163的
                SmtpClient sc = new SmtpClient(smtp);//发送邮件用到的smtp主机(用不同的邮箱,stmp定义则不同)
                sc.Credentials = new System.Net.NetworkCredential("发件人的邮箱", "邮箱密码");//邮箱账号与密码
                sc.Send(message);   //发送邮件
            }
            catch (SmtpException se)
            {
                throw new System.Exception(se.ToString());
            }

}

第三步,只要在一个事件里,直接调用这个方法就ok啦.....

=========

除了上面的方法,还有一种也是比较简单方法如下:

刚刚的方法中,有一行代码如下:

 sc.Credentials = new System.Net.NetworkCredential("发件人的邮箱", "邮箱密码");//邮箱账号与密码
其实这行代码可以不写的,只要在Web.config设置一下就ok了,设置如下:

 <system.net>

    <mailSettings>

      <smtp>
        <network host="smtp.163.com" port="25" userName="你的邮箱" password="邮箱密码"/>
      </smtp>
    </mailSettings>
  </system.net>

 

Web.config设置好之后,下面就直接写邮件发送方法啦~!

System.Net.Mail;

.......

public void MailSend()

{

 MailMessage message = new MailMessage("from@163.com",
               "to@hotmail.com",
               "邮件的主题",
               "邮件的内容");
                SmtpClient client = new SmtpClient();
                client.Send(message);

}

呵呵,这样就完成了,如果你有更好的方法,不防拿出来share 一下......

posted @ 2008-09-29 10:25  Haisen  Views(2389)  Comments(4)    收藏  举报