关于System.net.mail发送邮件不稳定的最新发现

colinhr 2010-08-02 10:53:25
我曾经在这个地方发过一个帖子,求解决方案,原帖地址如下:
http://topic.csdn.net/u/20100627/20/c389a51f-b334-4e39-a8e1-62d9488331e2.html
我原来使用System.Net.Mail来发送邮件,代码没有任何问题,就是有时能发成功,有时发送成功了,但对方收不到,后来各位高手指点了一下,也没有好的解决办法,最后我不得已只有放弃了,找了好多地方,终于找到了一个解决方案,测试了快半个月了,基本成功率100%了。
我使用的是国外的一个开源代码:
using LumiSoft.Net.SMTP.Client;


Mime m = new Mime();
MimeEntity mainEntity = m.MainEntity;
// Force to create From: header field
mainEntity.From = new AddressList();
mainEntity.From.Add(new MailboxAddress(txtFrom.Text, txtFrom.Text));
// Force to create To: header field
mainEntity.To = new AddressList();
mainEntity.To.Add(new MailboxAddress(txtTo.Text, txtTo.Text));
mainEntity.Subject = txtSubject.Text;
//添加正文
mainEntity.ContentType = MediaType_enum.Multipart_mixed;
MimeEntity textEntity = mainEntity.ChildEntities.Add();
textEntity.ContentType = MediaType_enum.Text_html;
textEntity.ContentTransferEncoding = ContentTransferEncoding_enum.Base64;
textEntity.DataText = txtBody.Text;
//发送附件
MimeEntity attachmentEntity = new MimeEntity();
attachmentEntity.ContentType = MediaType_enum.Application_octet_stream;
attachmentEntity.ContentDisposition = ContentDisposition_enum.Attachment;
attachmentEntity.ContentTransferEncoding = ContentTransferEncoding_enum.Base64;
attachmentEntity.ContentDisposition_FileName = "c:/test.jpg";
attachmentEntity.DataFromFile("c:/test.jpg");

mainEntity.ChildEntities.Add(attachmentEntity);

SMTP_Client.QuickSend(m);

这段诡异的代码,有些邮箱都不需要提供用户名和密码就可以发送,如果需要提供用户名和密码的就需要使用另外一个方法。
但这个还是存在一个致命的缺陷,就是发送大附件的时候速度太慢了。
我测试过发送一个3M的附件,差不多花了2分钟,15M的附件,差不多12分钟,奇怪的是都发送成功了
...全文
460 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序员员 2012-08-02
  • 打赏
  • 举报
回复
我也想要,发给我一份源代码吧,chzhjie0827@126.com,谢谢
深宇 2012-08-01
  • 打赏
  • 举报
回复
笑纳了
rinoya111 2010-08-24
  • 打赏
  • 举报
回复
收藏.
bourbon1795 2010-08-24
  • 打赏
  • 举报
回复
源码发一份 谢谢lz minbourbon@gamil.com
pigadd 2010-08-24
  • 打赏
  • 举报
回复
感谢楼主分享牛X代码
学习
myhope88 2010-08-24
  • 打赏
  • 举报
回复
能把源码发一份给我吗,我正需要,邮箱:mybestlove88@126.com
beizhenilinyu 2010-08-24
  • 打赏
  • 举报
回复
我很感兴趣,最近正在用它来进行Mdaemon的二次开发,请楼主把关于Lumisoft.Net的相关资料的地址贴出来,谢谢!
dys_198102 2010-08-22
  • 打赏
  • 举报
回复
我也写过一个,太久了都忘记了。不怎么稳定。。。
porschev 2010-08-22
  • 打赏
  • 举报
回复
收下看看。。。。。

System.Net.Mail发送邮件对网络有要求。。。。

如果太慢。。。发送不成功也是常事
spmzfz 2010-08-22
  • 打赏
  • 举报
回复
不好意思,写错了,是接收邮件的类。
spmzfz 2010-08-22
  • 打赏
  • 举报
回复
1 你能提供这个开源代码的下载地址么?!
2 我在想,MS要是有接收源码的类就好了。
colinhr 2010-08-22
  • 打赏
  • 举报
回复
暂时先不结贴,等待大家有兴趣的来一起讨论一下,如果没有人感兴趣,我就结贴
colinhr 2010-08-22
  • 打赏
  • 举报
回复
大家可以收藏这个方法,我测试了很长时间了,从发帖前开始测试的,每天都在正常使用,一直没有出现过发送失败的情况
libinlink 2010-08-02
  • 打赏
  • 举报
回复
发送成功即可!

收藏待用!

110,529

社区成员

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

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

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