用c#的SmtpClient发邮件如何获得邮件发送失败呢

思杰软件 2010-09-07 10:44:14
目前发邮件程序正常,可以发送。
但是不知道是否真的发过去了。如果取得对方邮件的退信呢???
代码如下:
MailMessage MMsg = new MailMessage();
MMsg.Subject = _subjects;
MMsg.From = (new MailAddress(_username));
MMsg.To.Add(new MailAddress(_username));
MMsg.CC.Add("mywaster@sina.com,mywaster@yahoo.cn");
MMsg.IsBodyHtml = true;//这里启用IsBodyHtml是为了支持内容中的Html。
MMsg.BodyEncoding = Encoding.UTF8;//将正文的编码形式设置为UTF8。
MMsg.Body = _bodys;

SmtpClient SClient = new SmtpClient();
SClient.Host = _sendserver;//google的smtp地址
if (_isssl == "1")
{
_bool_isssl = true;
SClient.EnableSsl = true;
}
else
{
_bool_isssl = false;
SClient.EnableSsl = false;
}

SClient.Port = _thisport;//google的smtp端口

SClient.Credentials = new NetworkCredential(_username, _passwords);
//添加附件
if (this.paths.Count != 0)
{
foreach (string path in this.paths)
{
Attachment data = new Attachment(path, System.Net.Mime.MediaTypeNames.Application.Octet);
MMsg.Attachments.Add(data);
}
}

try
{
SClient.Send(MMsg);

this.succList.Items.Add(new ListViewItem(new string[] { _ToMail }));
this.str_status.Text = "发送成功(" + this.succList.Items.Count.ToString() + ")";
//MessageBox.Show("报告老板,验证成功,可以发送邮件", "提示");



}
catch (Exception err)
{

MessageBox.Show(err.Message.ToString());
//更新失败列表
this.falseList.Items.Add(new ListViewItem(new string[] { _ToMail }));
this.str_status.Text = "发送失败(" + this.falseList.Items.Count.ToString() + ")";

}

SClient.Send(MMsg); 是发过去了,但不知道对方是否收到,如何实现是否收到、????
高手给个思路,或者给点代码!!!

谢谢
...全文
550 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
porschev 2010-09-08
  • 打赏
  • 举报
回复
不只是你这边代码要写成功

还有收件服务器会不会给你直接过滤掉。。。

jeven_xiao 2010-09-08
  • 打赏
  • 举报
回复
验证用户是否收到?给他个提示 做个反馈?
wuyq11 2010-09-07
  • 打赏
  • 举报
回复
发送成功也可能被过滤
收发邮件查看
wanghuaide 2010-09-07
  • 打赏
  • 举报
回复
关注,我也是用try..catch来实现,如果没异常就发送成功

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧