VisualBasic使用CDO发送SSL加密邮件【我TM还是太年轻了】
首先,在工程里引用一个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还是太年轻了】相关推荐
- .net 发送html邮件,c#利用system.net发送html格式邮件
using system; using system.text; using system.net; using system.net.mail; using system.net.mime; nam ...
- 使用GPG加密邮件,进行数字签名和解密邮件
这里邮件加密的基本原理是非对称的加密形式.每个人都会生成一对密钥,分为公钥和私钥.正如名字所述,公钥是公开的,而私钥只能本人所有,私钥和公钥配对存在,彼此解密.实际加密邮件时,使用自己的私钥和接收人的 ...
- 邮件TLS/SSL加密通信
邮件TLS/SSL加密通信 问题 本案例要求为基于Postfix+Dovecot的邮件服务器提供加密通信支持,主要完成以下任务操作: 1)为SMTP服务(postfix)添加TLS/SSL加密通信支持 ...
- java 163邮件发送 ssl协议失败_java发送邮件遇到的问题
今天尝试用java.mail.jar来实现Java程序发送邮件的功能,遇到一些问题: 一.当使用QQ邮箱向网易邮箱发邮件时: 问题1:530错误,需要建立安全连接,报错如下: javax.mail.A ...
- python 发送邮件正文字体设置_python 文字 坐标python smtplib模块发送SSL/TLS安全邮件实例...
python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. smtp协议的基本命令包括: HELO 向服务器标识用户身份 MAIL 初始化邮件传输 mail f ...
- python发邮件11002_【python发送zabbix报警邮件,SSL版本】mailman.py
[python发送zabbix报警邮件,SSL版本]mailman.py#!/usr/local/bin/python3 # # via @ 20150210 # SSL only ''' 用法: ...
- 使用Gpg4Win+Outlook Express实现发送和接收加密邮件
一.Gpg4win3.0.3的安装和使用 1.软件简介 Gpg4win是一款Windows平台下基于RSA公钥密码体制,集密钥生成.存储.发布于一体的密钥管理和加解密软件.一共包含Gpg ...
- python模块之smtplib: 用python发送SSL/TLS安全邮件
转载请注明原文出自 http://blog.csdn.net/zhaoweikid/ python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. smtp协议的 ...
- cdo收取邮件_使用CDO发送电子邮件
使用CDO发送电子邮件 CDO是Collaboration Data Objects的简称,它是一组高层的COM对象集合,并经历了好几个版本的演化,现在在Windows2000和Exchange200 ...
最新文章
- 归一化 vs 标准化 定量的分析
- 中职pHP课程标准,中等职业学校数课程标准.doc
- 使用光盘作为yum源安装ifconfig等网络命令
- 如何更好的排版介绍性文字
- c++ enum 枚举类型
- ASP.NET 服务器控件授权
- python数据参数_python 的参数总结
- ChaiNext:ETH上行1900上方
- Android-JNI开发系列《四》Native-Crash定位
- atitit.web 推送实现方案集合
- 【ArcGIS微课1000例】0019:什么是Shapefile文件?Shapefile文件之全解
- Excel常用函数——count
- 优盘中发现计算机病毒怎么办,u盘插电脑中了病毒怎么办
- 小白学语句:省市区选择(带全国省市区数据)
- [宋史学习] 三省六部制的破坏与宋初的中央政府机构
- 28. 如何使用 SAP OData 服务向 ABAP 服务器上传文本格式和 Excel,PDF 等格式的文件
- acer p3 171 装android,宏碁P3:平板PC一秒切换_Acer P3-171-3322Y2G06as_笔记本评测-中关村在线...
- css保持图片原始比例
- 使用Tomcat插件实现WEB项目热部署
- excel表格下拉选项怎么设置_让表格美观好看几个Excel设置技巧
热门文章
- ciscn_2019_n_7(exit_hook)、wdb_2018_1st_babyheap(fsop的例子)
- 人工智能换脸技术python_人工智能几行代码实现换脸,python+dlib实现图文教程
- S3D 2.0 截图
- C语言的字符数组(字符串)的定义与初始化
- 如何查看vue打印的console.log日志
- 14福师计算机导论在线作业一,(随机)福师18秋《计算机导论》在线作业一资料...
- 利用“bert模型”预测英语“完形填空”答案
- 对于波特率传输一个bit的时间的计算
- 软件工程自测题及答案
- POJ 1417 True Liars(带权并查集+DP)