C++程序中支持SMTP邮件发送的解决方案荟萃

C++程序中支持SMTP邮件发送的解决方案荟萃

作者:POWERCPP

(1)jwSMTP
C++开发,支持Linux,BSD,Windows,支持附件、多个收件人、抄送密送、MX记录查询或直接发送到SMTP服务器。
支持LOGIN和PLAIN认证,支持Html和纯文本格式。
到2007年后,该项目未做更新。
http://sourceforge.net/projects/jwsmtp/

(2)CPJNSMTPConnection v2.92
这是一个基于MFC的SMTP协议封装类。
支持附件发送、多个收件人、抄送密送,支持HTML邮件。
支持通过SSL发送邮件,支持Gmail。
支持多种认证协议 "AUTH CRAM-MD5", "AUTH LOGIN", "AUTH PLAIN" 和 "AUTH NTLM"。
支持DSN,MDN,STARTTLS
CPJNSMTPConnection需要VC 2005及以上版本编译。
http://www.naughter.com/smtp.html

(3)POCO C++库
POCO C++库提供了网络、加密、数据库、内存管理、文件系统、多线程支持一系列封装,
在网络部分,提供了SMTP支持。
http://pocoproject.org/

(4)Email C++库
这个库功能非常强大,支持POP3和SMTP,除了一般的附件、抄送密送、HTML邮件外,还支持HTTP代理、SOCKS4,SOCKS5代理。
但该库不开源,需要收费,价格在100美元左右。
http://www.chilkatsoft.com/email-library.asp

(5)支持SSL/TLS的SMTP封装类
http://www.codeproject.com/KB/IP/smtp_ssl.aspx

(6)一个简单的SMTP封装类
http://www.codeproject.com/KB/IP/CSmtp.aspx
因工作需要在Linux环境C++编写个发送邮件的程序,着实费了点周折,最终得以满意解决,现将历程与成果与大家分享! 一、刚开始网上一通逛搜,发现Linux环境下,发邮件使用较多的方法是libesmtp,网上也有示例,按照相关章的指引,很容易就实现的邮件的发送,但问题是不知道如何实现SSL。 二、发现libesmtp文件有个smtp_starttls_set_ctx接口,似乎是可以解决ssl问题的,逛搜libesmtp解决SSL发送邮件的解决办法,几乎无任何信息,后来下载了个libesmtp的源代码libesmtp-1.0.6.tar.bz2,内含examples示例目录,可以直接编译成功,但似乎是只支持tls邮件发送,而不支持ssl邮件的发送,百思不得其解。 三、接着寻找别的解决办法,在CSDN搜到一个csmtp说可以解决SSL邮件发送问题的资源,但下载需要50积分,说心里话能解决问题50积分也是值得的,但没有呀,提供资源者还比较仁义,告知资来源于https://www.codeproject.com,于是乎在codeproject找到了csmtp的资源,有两个版本,v2.4版本CSmtp_v2_4_ssl.zip,v1.8版本分为window(CSmtp_v1_8a.zip)和linux(CSmtp_v1_8b.zip)两个。 四、为了能省点精力,就直接用版较低的linux版吧,解压后发现有makefile文件,可直接编译通过,一般的邮件能发送成功,但可惜的是v1.8版本也不支持ssl协议。 五、其实从的名字上就能看出来v2.4版本开始支持 ssl协议,但v2.4并不分windows版本和linux版本,是否能支持linux呢,查看源代码发现有对linux的支持,只是内没有makefile文件,似乎没有在linux目录下编译过,于是编写了个makefile文件尝试编译,竞然编通过,而且发送文件成功,经过测试可以支持ssl邮件的发送,因暂无需求tls未做测试。 六、现将程序重新打成csmtp_v2.4_linux.tar文件,与大家分享,文所提到的相关资源都一并打到资源了。 最后感谢原创christopher w. backen提供的代码资源!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值