博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#使用CDO发送邮件
阅读量:4543 次
发布时间:2019-06-08

本文共 2642 字,大约阅读时间需要 8 分钟。

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

你可能感兴趣的文章
MySQL++简介
查看>>
HTML5实现IP Camera网页输出 分类: HTML5 ...
查看>>
windows电脑常用必备软件
查看>>
打包部署到tomcat
查看>>
第六课 链接学习
查看>>
Mysql索引PRIMARY、NORMAL、UNIQUE、FULLTEXT 区别和使用场合
查看>>
海量积分数据实时排名算法
查看>>
SQL server Error Number
查看>>
select2 插件
查看>>
MyEclipse 中文乱码
查看>>
SpringAOP03 项目脚手架、自定义注解、织入切面、引介增强
查看>>
核心动画-关键帧动画易混淆属性记录
查看>>
IOS蓝牙开发模块
查看>>
poj2728 最优比率生成树
查看>>
Android开发 打开已存在的项目(以虹软人脸识别sdk的demo为例)
查看>>
身份证号码最后一位校检码的计算公式
查看>>
使用 iTextSharp 生成 PDF 表格
查看>>
sql 查出一张表中重复的所有记录数据
查看>>
IIS 上传大文件 30MB 设置限制了上传大小
查看>>
vue2.0结合Element实现select动态控制input禁用
查看>>