ASP.NET結(jié)合COM組件發(fā)送Email
發(fā)表時(shí)間:2024-01-01 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在系統(tǒng)目錄(如c:\winnt或c:\windows)的system32子目錄中可以找到一個(gè)名稱為cdosys.dll的文件,我們可以通過ASP.NET調(diào)用此COM組件來實(shí)現(xiàn)Email的發(fā)送。cdosys構(gòu)建在SMTP協(xié)議和NNTP協(xié)議之上,并且作為Windows2000 Server的組件被安裝...
在系統(tǒng)目錄(如c:\winnt或c:\windows)的system32子目錄中可以找到一個(gè)名稱為cdosys.dll的文件,我們可以通過ASP.NET調(diào)用此COM組件來實(shí)現(xiàn)Email的發(fā)送。cdosys構(gòu)建在SMTP協(xié)議和NNTP協(xié)議之上,并且作為Windows2000 Server的組件被安裝,當(dāng)然我們也可以使用Exchange2000中cdoex.dll來實(shí)現(xiàn)發(fā)送郵件的機(jī)制,由于cdosys.dll內(nèi)嵌到了操作系統(tǒng)中,所以不用再去注冊相應(yīng)的其他郵件發(fā)送程序比如jmail等。
1、新建一個(gè)項(xiàng)目文件
2、添加引用系統(tǒng)目錄下的cdosys.dll文件,在引用中會(huì)發(fā)現(xiàn)添加了兩個(gè)要用到的接口:CDO,ADODB
3、添加新項(xiàng)文件SendMail.aspx,在其頁面上放置三個(gè)Label,三個(gè)Textbox,作用分別為收件人地址、主題、內(nèi)容,放置一個(gè)Button按鈕。
4、切換到代碼頁,創(chuàng)建一下內(nèi)容
public void CDOsendmail()
{
try
{
CDO.Message Msg = new CDO.Message();
Msg.From = "rattlesnake@263.net";
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();
}
運(yùn)行程序即可。