项目中遇到一个邮件发送功能,使用常用的的SmtpClient进行发送,在本地进行了126的邮箱进行测试通过,客户发来对应的邮箱信息后告知是使用的是465加密端口,SSL加密协议,再把相关信息进行配置替换后发现邮件发送一直报超时,一直也找不到原因。网上进行相关资料查询最终查阅到:“”465端口是Implicit SSL,由于.net FrameWork 的Bug,不能使用SmtpClint发送Implicit SSL邮件:(未去真实核对),最终在网上找到相关资料使用CDO的COM组件。
方法如下:
1、添加引用 -> COM -> Microsoft CDO for Windows2000 Library
2、在代码中引入命名空间: using CDO;
3、详细代码:
-
/// <summary>
-
/// 针对465加密端口 加密协议SSL(Implicit SSL)进行的邮件发送
-
/// </summary>
-
public void SendMailForSSL()
-
{
-
try
-
{
-
CDO.Message oMsg = new CDO.Message();
-
Configuration conf = new Con