C#邮件发送CDO的COM组件
System.Net.Mail
一开始使用自带Mail组件能正常发送邮件,直到用阿里云的专有网络的时候就出现问题,邮件不能正常发送,提示无语的“邮件发送失败”,没有其他异常信息,无从可查,你可能会看到这种提示http://bbs.csdn.net/topics/320204856。
最后了解到原来阿里云坑爹的专有网络自动禁用了25端口(没提示的,要自己找帮助中心),然后会提示你可以尝试申请开通25端口,事实证明是一本正经的胡说八道,以后不用申请了,因为专有网络怎么都不会给你开通的,然后会推荐你几种方式
- 1、阿里云:邮件可开放80端口
- 2、可使用465端口或993+SSL加密(我的网易的)
再次证明阿里的忽悠能力
最后会跟你说可以用我们阿里的邮箱,可以用80端口和465端口
这是你才知道说了半天就是要你用阿里的邮箱(因为.net确实会有问题),然而企业邮箱的费用大家可以看看阿里的https://exmail.aliyun.com/企业邮箱介绍,最低600RMB,这是各位请特别注意!!!你有可能又掉入阿里的坑了,如果你真正要用阿里企业邮箱的没问题,如果你只是要用阿里的企业邮箱发邮件而已的,请忽略这连接
真正的连接在这里https://wanwang.aliyun.com/mail/freemail/,阿里有免费的企业邮箱,只是绑定了一个6元的推送包。
注:为啥说.net有问题,你得去查查了,网上资料说明情况在这块465端口加密发送不了的是因为.net framework本身的bug,这块我就没研究了
这里才是真正的开始,以上都是我的吐槽
终极解决方案
- 1、使用阿里邮箱
- 2、使用CDO的COM组件发送
第一点上面的废话已经说了,重点说第二种,直接上代码:
代码块
引用CDO,例如: