- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
注意:如果您没有时间阅读这篇漫长的旅程,解决方案(带源代码)在这里:http://www.coastrd.com/smtps .
长期以来,通过远程邮件服务器(通常在网站托管公司)使用 SMTP(端口 25)发送电子邮件很容易通过应用程序完成。打开 TCP 端口 25,发送“HELO ...”等
使用谷歌电子邮件服务来做到这一点给我带来了一个问题,因为他们坚持使用端口 465 SMTPS,即带有 TLS 加密的 SMTP:
http://en.wikipedia.org/wiki/Transport_Layer_Security#How_it_works
在研究使用 C++ 或 basic 之类的语言执行此操作的方法时,我遇到了:
http://forums.realsoftware.com/viewtopic.php?f=2&t=29542
http://forums.realsoftware.com/viewtopic.php?f=2&t=26959&p=162671#p162671
还有一个 Python 问题:
python smtp gmail authentication error (sending email through gmail smtp server)
如果我理解正确,我将需要在我的 C++ 代码中实现 TLS 加密,完成所有握手和协商?
来自 C# 问题:
sending email with gmail smtp ( secure layer ) in c++
这个库不会做
http://johnwiggins.net/jwsmtp/
已添加:
很多人只是将 stunnel 安装为服务,然后配置它来管理 SSL 连接
Stunnel 是一个 OpenSSL 包装器。 OpenSSL 存在一些性能问题 ( http://josefsson.org/gnutls4win/ )
“在某些系统上初始化 libgcrypt 需要很长时间,据报道可能需要大约 10 秒。”
并且要求:“libeay32.dll”1.35MB +“libssl32.dll”310k +“zlib1.dll”75k
然后是一些商业产品:
http://www.chilkatsoft.com/downloads.asp
该产品主要作为 Activex (COM)“dll”提供(需要用户计算机上的安装程序来“注册”dll——另一个糟糕的 .net 想法)。
安装程序加载“ChilkatMime.dll”1.33Mb、“ChilkatCert.dll”1.26MB、“ChilkatUtil.dll”720k。开发人员根本没有兴趣在真正的 C .dll 库上进行合作,该库可以从任何语言(包括 C/C++/BASIC/Python 等)调用。鉴于他们的态度,我对他们成为代码生成器的受害者并不感到惊讶由黑客。
除了俗气的名字和艺术品,他们的产品价格合理,但我试过的那个,尽管被告知使用端口 465,但仍连接到端口 25。
相比之下,催化剂的商业选择:
http://www.catalyst.com/products/sockettools/secure/library/index.html
现在作为主要 socket 工具产品的组件提供,价格仅为其 1/3。这些工具是一流的!是的,一分钱一分货。开发人员 react 迅速并乐于接受建议。他们提供所有类型的 dll,包括一个独立的 .dll,它可以随您的产品一起运送,只有 230k!对于商业解决方案,他们轻而易举地胜出。
SLL/TLS 连接可以显式(握手开始时)或隐式(握手后使用 STARTTLS 等)
例如,CodeIgniter 是隐式的(Python、asp、php 等中的选项也是如此) http://codeigniter.com/forums/viewthread/84689/
一旦建立连接,就存在一个“隧道”,MIME session 可以通过它进行:
"EHLO " + sLocalHost + CRLF
"MAIL FROM: " + sMailFrom + CRLF
"RCPT TO: " + "me@mydomain.com" + CRLF
"DATA: Testing, Testing xyz" + CRLF
CRLF + "." + CRLF
"QUIT"
使用服务器的常规响应。
有些语言会为您处理 MIME 通信(套接字工具、codeigniter 等),您只需输入电子邮件主题、正文和地址,使其非常易于使用
CryptLib 是一种开源解决方案,可通过仅 1MB(完整编译)的 C 风格 .dll 促进 SSL/TLS 隧道。由于源代码可用,因此可以编译一个仅包含您需要的组件的 dll 版本,而这些组件的数量应该少一些。
http://www.cs.auckland.ac.nz/~pgut001/cryptlib/download.html
即使我立即让库开始工作并询问 MIME 对话框,作者也非常敏感。有330页手册!谢谢。
此库不是 MTA(邮件传输代理),因此您必须在上面编写 MIME 对话,但它是免费的!
此处提供源代码: http://www.coastrd.com/smtps .
最佳答案
查看 http://sourceforge.net/projects/libquickmail/ .该图书馆可以将带有可选附件的邮件发送给多个收件人。SMTP 传输依赖于 libcurl,因此它支持身份验证和 TLS 等功能。C API 使用起来非常简单。在 Linux (GCC) 和 Windows (MinGW) 上测试过,但应该可以在 libcurl 可用的任何平台上运行。
关于c++ - 使用 SMTPS (TLS) 通过 gmail (smtp.gmail.com) 发送电子邮件的开源库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1736043/
去年(2023年)年底我初学flutter,看了一些文档和教程,想找个东西*练练手。 小时候看过一个关于历史名人儿时事迹的短片,有一集是讲*总理的,有一个细节我记得很清楚:幼年***经常要做一个游戏
今天给大家分享一个我做的小工具,可以自定义扩展右键菜单的功能来提高工作效率,效果图如下: image 如上图,右键菜单多了几个我自定义的菜单
书接上回,我们继续来分享一些关于特殊时间获取的常用扩展方法。 01、获取当天的开始时间 当天的开始时间指00:00:00时刻,因此只需要获取DateTime的Date属性只获取时间即可,具体代
书接上回,我们继续来分享一些关于时间转换的常用扩展方法。 01、时间转日期时间 TimeOnly 该方式是把TimeOnly类型转为DateTime类型,其中日期部分使用系统当前日期,时间部分
从事软件开发这么多年,平时也积累了一些方便自己快速开发的帮助类,一直在想着以什么方式分享出来,因此有了这个系列文章,后面我将以《开源-Ideal库》系列文章分享一些我认为比较成熟、比较方便、比较好的代
任何人都可以建议我应该使用什么程序/方法? 我需要有一个像谷歌地图这样的 map ,我可以在其中显示 map 、添加标记多边形等。 但是我不能依赖这样的在线服务,因为客户担心这样的服务会消失,我们的系
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 11年前关闭。 Improve this qu
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
您知道 EDA(电子设计自动化)领域有哪些开源项目正在寻找 C++ 程序员吗? 最佳答案 如果您经常关注 gEDA 的邮件列表,您也许能够加入 gEDA。详情:http://www.gpleda.or
如果现有Hadoop群集上有10个数据节点,则可以在4个或6个数据节点上安装NiFi吗? NiFi的主要目的是每天将数据从RDBMS加载到高容量的HDFS。 数据节点将配置为具有100 GB的高RAM
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
Closed. This question is off-topic。它当前不接受答案。
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
【Github源码】 《上一篇》 介绍了Xmtool工具库中的图形验证码类库,今天我们继续为大家介绍其中的扩展动态对象类库。 扩展动态对象是整个工具库中最重要的一个设计。
【Github源码】 《上一篇》 介绍了Xmtool工具库中的Web操作类库,今天我们继续为大家介绍其中的图形验证码类库。 图形验证码是为了抵御恶意攻击出现的一种设计;例如用
【Github源码】 《上一篇》 介绍了Xmtool工具库中的发送短信类库,今天我们继续为大家介绍其中的XML操作类库。 XML操作是软件开发过程中经常会遇到的情况;包括XM
作者以 SciTime 项目(一个对算法训练时间进行估计的包)的发布为例,详细解释了发布的每个步骤。 注意:本文假设你在 GitHub 上已经有一个想要打包和发布的项目。 第 0 步:获取项
前言 今天大姚给大家分享一个C#开源(MIT License)、免费、简单易用的Dapper扩展类库,帮助.NET开发者使用Dapper的CRUD操作变得更简单:Dommel。 项目特性
我是一名优秀的程序员,十分优秀!