在系統目錄(如c:\winnt或c:\Windows)的system32子目錄中可以找到一個名稱為cDOSys.dll的文件,我們可以通過ASP.Net調用此COM組件來實現Email的發送。cDOSys構建在SMTP協議和NNTP協議之上,並且作為Windows2000 Server的組件被安裝,當然我們也可以使用Exchange2000中cdoex.dll來實現發送郵件的機制,由於cDOSys.dll內嵌到了操作系統中,所以不用再去注冊相應的其他郵件發送程序比如jmail等。
1、新建一個項目文件
2、添加引用系統目錄下的cDOSys.dll文件,在引用中會發現添加了兩個要用到的接口:CDO,ADODB
3、添加新項文件SendMail.ASPx,在其頁面上放置三個Label,三個Textbox,作用分別為收件人地址、主題、內容,放置一個Button按鈕。
4、切換到代碼頁,創建一下內容
public void CDOSendmail()
{
try
{
CDO.Message Msg = new CDO.Message();
Msg.From = "[email protected]";
Msg.To = this.TextBox1.Text.Trim();
Msg.Subject = this.TextBox2.Text.Trim();
Msg.HTMLBody = "<html><body>"+this.TextBox3.Text+"</body></Html>";
CDO.IConfiguration Config = Msg.Configuration;
ADODB.Fields oFields = Config.FIElds;
oFIElds["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value = 2;
oFIElds["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value="rattlesnake";
oFIElds["http://schemas.microsoft.com/cdo/configuration/sendpassWord"].Value="pass";
oFIElds["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1;
oFIElds["http://schemas.microsoft.com/cdo/configuration/languagecode"].Value=0x0804;
oFIElds["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value="smtp.263.Net";
oFIElds.Update();
Msg.BodyPart.Charset = "gb2312";
Msg.HtmlBodyPart.Charset = "gb2312";
Msg.Send();
Msg = null;
}
catch(Exception err)
{
throw err;
}
}
5、為Button添加Click事件
private void Button1_Click(object sender, System.EventArgs e)
{
this.CDOSendmail();
}
運行程序即可。