首先,在工程里引用一个COM:Microsoft CDO for Windows 2000 Library

接着他应该会自动imports俩组件,如果没有的话你自己写:

Imports CDO
Imports ADODB

代码:

    Private Sub SendTestCDOMessage()Dim cdoObj As ObjectcdoObj = CreateObject("cdo.Message")' TODO: 使用本地SMTP服务器'cdo.Configuration.Fields.item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1' 设置外部SMTP服务器cdoObj.Configuration.Fields.item _("http://schemas.microsoft.com/cdo/configuration/sendusing") _= CDO.CdoSendUsing.cdoSendUsingPortcdoObj.Configuration.Fields.item _("http://schemas.microsoft.com/cdo/configuration/smtpserver") _= "smtp.163.com"cdoObj.Configuration.Fields.item _("http://schemas.microsoft.com/cdo/configuration/smtpserverport") _= 465cdoObj.Configuration.Fields.item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") _= CDO.CdoProtocolsAuthentication.cdoBasic' 身份认证cdoObj.Configuration.Fields.item _("http://schemas.microsoft.com/cdo/configuration/sendusername") _= "bbb@163.com"cdoObj.Configuration.Fields.item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") _= "password"cdoObj.Configuration.Fields.item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") _= "true"' 我就是不知道应该这么写所以整了半天cdoObj.Configuration.Fields.Update()' 附件cdoObj.AddAttachment("C:\\1010.txt", "", "")' 邮件内容cdoObj.To = "aaa@qq.com"cdoObj.From = "bbb@163.com"cdoObj.Subject = "cdo Test"cdoObj.TextBody = "Send Email from vb.net using cdo"' 发送cdoObj.Send()cdoObj = NothingMsgBox("Done.")End Sub

想看故事的可以继续这故事简单来说,就是

我TM还是太年轻了

前两天跟几个Hi-Fi玄学家聊常识,对方甩出错误“你丫算根葱”,甩出错误信息“我用十几块钱耳机能听出320kmp3和CD的区别,你行么蠢比?”,于是我炸了

我TM还是太年轻了

我拿VB调FFPLAY写了个盲听测试程序,AB对比,用VB的原因是不写GUI那货不计不会玩,Python写GUI实在很令人发指结果这货跟我说我做的全对啊,能分出来啊!让他截图也不截。遂决定用邮件把结果直接回传,否则还不任凭你诓我。。。于是我准备用VB写邮件发送程序,我本来以为肯定有现成的代码,我就粘粘胶水就行了

我TM还是太年轻了

首先得到的方法是调用System.Net.Mail,代码非常简单,短时间内就搞定了。但是在我用网易邮箱SMTP的过程中,我发现只有25端口的非加密可用,465端口的SSL不可用!这是为毛?换了一个哥们的代码,仍然不起作用。于是再次爆炸。。。

我TM还是太年轻了

最终我才明白,SMTP有Explicit SSL和Implicit SSL两种加密方式,而System.Net.Mail只支持Explicit SSL,不支持Implicit SSL。这不坑爹吗!

于是开始修改搜索关键字,感觉知道了问题所在,应该很快能搞定了。之后进入我视线的是CDO,全名协作数据对象,之前看到过,但是从来没用过,传说只有它能比较好的搞定这个问题。

我TM还是太年轻了

我找到了官方的说明:如何使用 Visual C# 发送带有附件的电子邮件使用 Cdosys.dll 库遂想修改之为VB版本,但是看到

ADODB.Field oField = oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"];

这种玩意儿的时候我还是懵了。。。这用VB怎么写?!

我TM还是太年轻了

最终找到了正确的写法,就是先弄一个CDO.Message对象,然后用item来赋值,最后用update更新。同时还找到了MSDN。

当终于明白这东西该怎么写以后,我猛然发现这东西好用得令人发指。。。

想用本地SMTP服务器,去掉注释那行就行。想加附件,一个AddAttachment结束。HTML格式邮件有HTMLBody属性。

可以用的执行接口:IMessage Interface   IBodyPart Interface    IDataSource Interface
可以用的 Fields

你可以发现,你对邮件想要的几乎所有功能,抄送,密送,附件,定时发送,都有。哎呀,这感觉。。。美得很。。。

写了这么多代码,回头一看,为了一个SB能做到这个程度,

我TM还是太连青了!。。。

另外是一个决定:以后再用VB就剁手,有必要的话用C#。。。

VisualBasic使用CDO发送SSL加密邮件【我TM还是太年轻了】相关推荐

  1. .net 发送html邮件,c#利用system.net发送html格式邮件

    using system; using system.text; using system.net; using system.net.mail; using system.net.mime; nam ...

  2. 使用GPG加密邮件,进行数字签名和解密邮件

    这里邮件加密的基本原理是非对称的加密形式.每个人都会生成一对密钥,分为公钥和私钥.正如名字所述,公钥是公开的,而私钥只能本人所有,私钥和公钥配对存在,彼此解密.实际加密邮件时,使用自己的私钥和接收人的 ...

  3. 邮件TLS/SSL加密通信

    邮件TLS/SSL加密通信 问题 本案例要求为基于Postfix+Dovecot的邮件服务器提供加密通信支持,主要完成以下任务操作: 1)为SMTP服务(postfix)添加TLS/SSL加密通信支持 ...

  4. java 163邮件发送 ssl协议失败_java发送邮件遇到的问题

    今天尝试用java.mail.jar来实现Java程序发送邮件的功能,遇到一些问题: 一.当使用QQ邮箱向网易邮箱发邮件时: 问题1:530错误,需要建立安全连接,报错如下: javax.mail.A ...

  5. python 发送邮件正文字体设置_python 文字 坐标python smtplib模块发送SSL/TLS安全邮件实例...

    python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. smtp协议的基本命令包括: HELO 向服务器标识用户身份 MAIL 初始化邮件传输 mail f ...

  6. python发邮件11002_【python发送zabbix报警邮件,SSL版本】mailman.py

    [python发送zabbix报警邮件,SSL版本]mailman.py#!/usr/local/bin/python3 # # via  @ 20150210 # SSL only ''' 用法: ...

  7. 使用Gpg4Win+Outlook Express实现发送和接收加密邮件

    一.Gpg4win3.0.3的安装和使用        1.软件简介 Gpg4win是一款Windows平台下基于RSA公钥密码体制,集密钥生成.存储.发布于一体的密钥管理和加解密软件.一共包含Gpg ...

  8. python模块之smtplib: 用python发送SSL/TLS安全邮件

    转载请注明原文出自 http://blog.csdn.net/zhaoweikid/ python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. smtp协议的 ...

  9. cdo收取邮件_使用CDO发送电子邮件

    使用CDO发送电子邮件 CDO是Collaboration Data Objects的简称,它是一组高层的COM对象集合,并经历了好几个版本的演化,现在在Windows2000和Exchange200 ...

最新文章

  1. 归一化 vs 标准化 定量的分析
  2. 中职pHP课程标准,中等职业学校数课程标准.doc
  3. 使用光盘作为yum源安装ifconfig等网络命令
  4. 如何更好的排版介绍性文字
  5. c++ enum 枚举类型
  6. ASP.NET 服务器控件授权
  7. python数据参数_python 的参数总结
  8. ChaiNext:ETH上行1900上方
  9. Android-JNI开发系列《四》Native-Crash定位
  10. atitit.web 推送实现方案集合
  11. 【ArcGIS微课1000例】0019:什么是Shapefile文件?Shapefile文件之全解
  12. Excel常用函数——count
  13. 优盘中发现计算机病毒怎么办,u盘插电脑中了病毒怎么办
  14. 小白学语句:省市区选择(带全国省市区数据)
  15. [宋史学习] 三省六部制的破坏与宋初的中央政府机构
  16. 28. 如何使用 SAP OData 服务向 ABAP 服务器上传文本格式和 Excel,PDF 等格式的文件
  17. acer p3 171 装android,宏碁P3:平板PC一秒切换_Acer P3-171-3322Y2G06as_笔记本评测-中关村在线...
  18. css保持图片原始比例
  19. 使用Tomcat插件实现WEB项目热部署
  20. excel表格下拉选项怎么设置_让表格美观好看几个Excel设置技巧

热门文章

  1. ciscn_2019_n_7(exit_hook)、wdb_2018_1st_babyheap(fsop的例子)
  2. 人工智能换脸技术python_人工智能几行代码实现换脸,python+dlib实现图文教程
  3. S3D 2.0 截图
  4. C语言的字符数组(字符串)的定义与初始化
  5. 如何查看vue打印的console.log日志
  6. 14福师计算机导论在线作业一,(随机)福师18秋《计算机导论》在线作业一资料...
  7. 利用“bert模型”预测英语“完形填空”答案
  8. 对于波特率传输一个bit的时间的计算
  9. 软件工程自测题及答案
  10. POJ 1417 True Liars(带权并查集+DP)