.NET 针对465加密端口 加密协议SSL(Implicit SSL)进行的邮件发送
来源:互联网 发布:mac装win10后没有无线 编辑:程序博客网 时间:2024/05/16 05:03
项目中遇到一个邮件发送功能,使用常用的的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 ConfigurationClass(); conf.Fields[CdoConfiguration.cdoSendUsingMethod].Value = CdoSendUsing.cdoSendUsingPort; conf.Fields[CdoConfiguration.cdoSMTPAuthenticate].Value = CdoProtocolsAuthentication.cdoBasic; conf.Fields[CdoConfiguration.cdoSMTPUseSSL].Value = true; conf.Fields[CdoConfiguration.cdoSMTPServer].Value = this.Host;//必填,而且要真实可用 conf.Fields[CdoConfiguration.cdoSMTPServerPort].Value = this.Port;//465特有 conf.Fields[CdoConfiguration.cdoSendEmailAddress].Value = "<" + this.From + ">"; conf.Fields[CdoConfiguration.cdoSendUserName].Value = this.From;//真实的邮件地址 conf.Fields[CdoConfiguration.cdoSendPassword].Value = this.Password; //为邮箱密码,必须真实 conf.Fields.Update(); oMsg.Configuration = conf; oMsg.HTMLBody = this.Body; oMsg.Subject = this.Subject; oMsg.From = this.From; oMsg.To = this.To; //ADD attachment. //TODO: Change the path to the file that you want to attach. //oMsg.AddAttachment("C:\Hello.txt", "", ""); //oMsg.AddAttachment("C:\Test.doc", "", ""); oMsg.Send(); } catch (System.Net.Mail.SmtpException ex) { throw ex; } }
另:
1、提示:在VS2010,在引用COM组件的时候,出现了无法嵌入互操作类型“……”,请改用适用的接口的错误提示。
2、解决方案:
选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互操作类型”设置为False。
涉及到的DLL有CDO,ADODB都需要做处理
阅读全文
0 0
- .NET 针对465加密端口 加密协议SSL(Implicit SSL)进行的邮件发送
- javamail SSL加密发送邮件
- 邮件服务的SSL加密
- SSL加密通讯协议
- ssl加密协议
- TLS/SSL加密协议
- 用 SSL 对邮件加密的支持
- 加密通讯协议SSL研究
- 加密通讯协议SSL编程
- 加密通讯协议SSL编程
- ssl加密的方法
- ssl加密的方法
- ssl加密的方法
- ssl加密
- SSL加密
- 配置邮件客户端(无SSL/TLS加密)
- MySQL(MariaDB)的 SSL 加密复制
- Apache虚拟主机、通过ssl加密的https超文本传输协议
- 实用的网络模型
- GridView的最后固定显示一个增加图片,点击图片动态增加内容item
- Dubbo分布式架构实战--FastDFS分布式文件系统的安装与使用(单节点)
- Linux/CentOS 升级C基本运行库CLIBC的注意事项(当想解决GLIBC_2.x找不到的编译问题)
- Python书籍推荐
- .NET 针对465加密端口 加密协议SSL(Implicit SSL)进行的邮件发送
- 关于rotate动画在ios设备无效的问题
- 常用的居中方式
- @SuppressWarings注解警告类型
- 利用chorm工具读取请求日志
- linux的信号量操作
- 关于android.support.v7.internal.widget.ActionBarOverlayLayout问题的解决
- 小结
- PADS 软件基础知识整理