C#使用CDO发送邮件

None.gif C#使用CDO发送邮件 
None.gifAuthor:David Euler
None.gifDate: 
2004 / 11 / 18
None.gifEmail:de_euler
- david@yahoo.com.cn 
None.gif有任何问题,请与我联系:)
None.gif
None.gif一直想做实现一个程序,定期给自己发送邮件,或者给朋友发送邮件;比如在节日或者纪念日前若干天,发送邮件给自己提醒,或者朋友生日前夕发邮件提醒。找了很长时间,都没有找到可用的资料。
None.gif
None.gifCSDN上查到可以用CDO,有一篇文章说“在reference中添加CDO  
for   Windows   2000   ”,于是在引用里面找,也没有找到一个名字以CDO开头的组件,下午的时候仔细看了一下可以引用的COM组件列表,发现里面有一个名为Microsoft CDO For Exchange  2000  Library的COM组件,就是这个,我们可以用它来连接SMTP Server,使用用户名 / 密码验证发送邮件。
None.gif
None.gif下面是实现的一个例子:
None.gif
None.gifSmtp Server使用的Smtp
- SRV,登陆用户名是David Euler,发送邮箱是davidEuler@test.com,发送到test@test.com /
None.gif
None.gif
None.gif
1 ).资源管理器里面,添加引用(reference),添加Microsoft CDO For Exchange  2000  Library的COM组件;
None.gif
None.gif
2 ).编辑用户界面如上图,依次添加FromTextBox,ToTextBox,CCTextBox,BCCTextBox,SubjectTextBox,MessageTextBox,PasswordTextBox,smtpTextBox,设置MessageTextBox的TextMode属性为“MultiLine“, PasswordTextBox的TextMode属性为“Password“,并添加响应提示标签,添加发送按钮Send。
None.gif
None.gif
3 ).输入用户名,密码,smtp server之后,用户点击Send按钮发送邮件,
None.gifSend 按钮的Click事件代码如下:
None.gif   CDO.Message  oMsg  
=    new   CDO.Message();  
None.gif   
// oMsg.From  =  FromTextBox.Text  ;  
None.gif
   oMsg.To   =   ToTextBox.Text  ;  
None.gif   oMsg.Subject  
=   SubjectTextBox.Text  ;  
None.gif   oMsg.TextBody  
=   MessageTextBox.Text  ;  
None.gif   oMsg.CC
= CCTextBox.Text  ;  
None.gif   oMsg.BCC
= BCCTextBox.Text  ;  
None.gif   
string   UserName;  
None.gif   
string  emailFrom;
None.gif   
string  Password = PasswordTextBox.Text.ToString().Trim();
None.gif
None.gif   UserName
= FromTextBox.Text.Trim();
None.gif   emailFrom
= UserName.Replace( "   " , "" ) + " @Test.com " ;
None.gif            oMsg.From
= emailFrom;
None.gif             
None.gif   CDO.IConfiguration  iConfg;      
None.gif   ADODB.Fields  oFields;  
None.gif   iConfg  
=   oMsg.Configuration;      
None.gif   oFields  
=   iConfg.Fields;  
None.gif 
None.gif   oFields[
" http://schemas.microsoft.com/cdo/configuration/sendusing " ].Value = 2 ;    
None.gif   oFields[
" http://schemas.microsoft.com/cdo/configuration/sendemailaddress " ].Value = emailFrom;    
None.gif   oFields[
" http://schemas.microsoft.com/cdo/configuration/smtpuserreplyemailaddress " ].Value = emailFrom;  
None.gif   oFields[
" http://schemas.microsoft.com/cdo/configuration/smtpaccountname " ].Value = UserName;    
None.gif   oFields[
" http://schemas.microsoft.com/cdo/configuration/sendusername " ].Value = UserName;  
None.gif   oFields[
" http://schemas.microsoft.com/cdo/configuration/sendpassword " ].Value = Password;  
None.gif   oFields[
" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate " ].Value = 1 ;    
None.gif   oFields[
" http://schemas.microsoft.com/cdo/configuration/smtpserver " ].Value = smtpTextBox.Text.Trim();     // smtp.163.com                      
None.gif
   oFields.Update();  
None.gif 
None.gif   
try   
ExpandedBlockStart.gifContractedBlock.gif   
dot.gif {              
InBlock.gif    oMsg.Send();  
InBlock.gif    oMsg  
=  null;  
InBlock.gif    Response.Write(
"<script>alert('"+ "邮件发送成功!" +"');</script>");
ExpandedBlockEnd.gif   }
  
None.gif   
catch   (Exception  ex)  
ExpandedBlockStart.gifContractedBlock.gif   
dot.gif {  
InBlock.gif    Response.Write(
"<script>alert('"+ "发送失败:" +"');</script>");
InBlock.gif    
InBlock.gif    
string exMsg="UserName:"+UserName+
InBlock.gif     
" Passwd:"+Password+
InBlock.gif     
" Smtp:"+smtpTextBox.Text.Trim();
InBlock.gif      
InBlock.gif    Response.Write(
"<script>alert('"+ exMsg +"');</script>");
InBlock.gif    failedLabel.Text
=ex.Message.ToString();
ExpandedBlockEnd.gif   }

None.gif
None.gif

转载于:https://www.cnblogs.com/miaomiaoga/archive/2005/01/12/90859.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值