会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Benny Ng 的猫博客
吃饱了饭了没事干~没事干~
博客园
首页
新随笔
联系
管理
订阅
C#使用CDO发送邮件
C#使用CDO发送邮件
Author:David Euler
Date:
2004
/
11
/
18
Email:de_euler
-
david@yahoo.com.cn
有任何问题,请与我联系:)
一直想做实现一个程序,定期给自己发送邮件,或者给朋友发送邮件;比如在节日或者纪念日前若干天,发送邮件给自己提醒,或者朋友生日前夕发邮件提醒。找了很长时间,都没有找到可用的资料。
CSDN上查到可以用CDO,有一篇文章说“在reference中添加CDO
for
Windows
2000
”,于是在引用里面找,也没有找到一个名字以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();
}
posted @
2005-01-12 20:18
Benny Ng
阅读(
1230
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告