代码改变世界

关于.NET的SMTP的问题:如不支持ESMTP(身份认证)等等

  灵感之源  阅读(1996)  评论(14编辑  收藏  举报
或许大家会很失望,为什么.NET的SMTP不支持ESMTP(身份认证),现在哪个SMTP不需要身份认证吖?真郁闷,微软老是喜欢做这种鸡肋。

刚开始要用.NET的SMTP,那已经是2002年的事情了,发现它不支持ESMTP,就干脆改用了jmail,也就是要用InterOp,这种方法虽然的确是比不上纯.NET的,也是权宜之计。

后来因为先是接收部分采用我参与开发的OpenPOP.NET,发现效果不错,就干脆全部采用纯.NET的,发送部分采用OpenSMTP.NET

最近发现了Reflector这个东西,其反编译效果不错,就是只能逐个函数解,实在是太不爽,后来hBifTs介绍了一个Reflector.FileDisassembler,效果好多了,可惜就是只能逐个Assembly解,它们都是很极端,一个解函数,一个解Assembly,就是不能解Class,看来我得自己写一个插件了。

回到正题,既然有了工具,我就狠了一把,把.NET的整个System都反编译了,其中我最关心的是SMTP的实现,发现它竟然用了CDONTS这个历史遗物!!!连TCP都不用,就光会用那些鸡肋,实在让我失望!!!!

同时,我还发现MIMEMapping类跟我在OpenPOP.NET中实现的方法一模一样,看来该开发人员也不咋地。

而且其邮件编码只有BASE64和UUEncode,连非常常见的Quoted-Printable都没有。

建议大家用OpenSMTP.NET,开源,功能强大,支持目前绝大部分SMTP特性,除了标准的正常发送和任意多附件,还支持如ESMTP(身份认证)、相关类型图片附件、特别好的中文支持等等。
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示