C#使用CDO发送邮件

可以引用的COM组件列表,发现里面有一个名为Microsoft CDO For Exchange 2000 Library的COM组件,就是这个,我们可以用它来连接SMTP Server,使用用户名/密码验证发送邮件。 

下面是实现的一个例子: 

Smtp Server使用的Smtp-SRV,登陆用户名是David Euler,发送邮箱是davidEuler@test.com,发送到test@test.com/ 


1).资源管理器里面,添加引用(reference),添加Microsoft CDO For Exchange 2000 Library的COM组件; 

2).编辑用户界面如上图,依次添加FromTextBox,ToTextBox,CCTextBox,BCCTextBox,SubjectTextBox,MessageTextBox,PasswordTextBox,smtpTextBox,设置MessageTextBox的TextMode属性为“MultiLine“, PasswordTextBox的TextMode属性为“Password“,并添加响应提示标签,添加发送按钮Send。 

3).输入用户名,密码,smtp server之后,用户点击Send按钮发送邮件, 
Send 按钮的Click事件代码如下: 
CDO.Message oMsg = new CDO.Message(); 
//oMsg.From = FromTextBox.Text ; 
oMsg.To = ToTextBox.Text ; 
oMsg.Subject = SubjectTextBox.Text ; 
oMsg.TextBody = MessageTextBox.Text ; 
oMsg.CC=CCTextBox.Text ; 
oMsg.BCC=BCCTextBox.Text ; 
string UserName; 
string emailFrom; 
string Password=PasswordTextBox.Text.ToString().Trim(); 

UserName=FromTextBox.Text.Trim(); 
emailFrom=UserName.Replace(" ","")+"@Test.com"; 
oMsg.From=emailFrom; 

CDO.IConfiguration iConfg; 
ADODB.Fields oFields; 
iConfg = oMsg.Configuration; 
oFields = iConfg.Fields; 

oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value=2; 
oFields["http://schemas.microsoft.com/cdo/configuration/sendemailaddress"].Value=emailFrom; 
oFields["http://schemas.microsoft.com/cdo/configuration/smtpuserreplyemailaddress"].Value=emailFrom; 
oFields["http://schemas.microsoft.com/cdo/configuration/smtpaccountname"].Value=UserName; 
oFields["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value=UserName; 
oFields["http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value=Password; 
oFields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1; 
oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value=smtpTextBox.Text.Trim(); //smtp.163.com 
oFields.Update(); 

try 

oMsg.Send(); 
oMsg = null; 
Response.Write("<script>alert('"+ "邮件发送成功!" +"');</script>"); 

catch (Exception ex) 

Response.Write("<script>alert('"+ "发送失败:" +"');</script>"); 

string exMsg="UserName:"+UserName+ 
" Passwd:"+Password+ 
" Smtp:"+smtpTextBox.Text.Trim(); 

Response.Write("<script>alert('"+ exMsg +"');</script>"); 
failedLabel.Text=ex.Message.ToString(); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值