青松阳光

关注.NET平台及SharePoint产品
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

从ASP.NET页面发送电子邮件

Posted on 2006-07-06 20:52  青松阳光  阅读(4359)  评论(12编辑  收藏  举报
我们经常看到在一些博客页面里可以发表评论, 通过电子邮件通知版主(例如咱们的博客园),那么如何用asp.net发送电子邮件呢?我们可以借助.NET提供的强大的类库达到目的。

首先我们要引入 System.Web.Mail 命名空间。

然后创建一个MailMessage类的实例。见如下代码:


1'创建一个实例
2Dim objMM as New MailMessage()
3
4'设置其属性
5objMM.To = "someone@someaddress.com"
6objMM.From = "someoneelse@someotheraddress.com"
7objMM.Cc = "someone2@someaddress.com"
8objMM.Bcc = "someoneElse@someaddress.com"
9
10'以Text方式发送
11objMM.BodyFormat = MailFormat.Text
12'或者以Html方式发送
13objMM.BodyFormat = MailFormat.Html
14
15'设置邮件的优先级
16objMM.Priority = MailPriority.Normal
17
18'设置主题
19objMM.Subject = "Hello there!"
20'邮件正文
21objMM.Body = "Hi!" & vbCrLf & vbCrLf & "How are you doing?"
22

'最后使用 SmtpMail 类的静态方法Send发送

SmtpMail.Send(objMM)


有的邮件服务器在发送邮件时需要再次认证(一般是为了防治垃圾邮件的蔓延),例如163免费邮箱,那么如果是.net1.1以上的版本,可以加入:

objMM.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
objMM.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "your_username_here"); //set your username
objMM.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "your_password_here"); // set your password


在ASP.NET2.0中,MailMessage类已移到System.Net.Mail命名空间下,其发送email可参见:
http://aspnet.4guysfromrolla.com/articles/072606-1.aspx
http://aspnet.4guysfromrolla.com/articles/080206-1.aspx
Sending HTML Mail with Embedded Image in .NET


另外给大家介绍一个专门讨论System.Web.Mail的网站:
http://www.systemwebmail.com/default.aspx

如果是.NET2.0,可以访问有关讨论System.Net.Mail网址:

http://www.systemnetmail.com/