因工作需要在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提供的代码资源!
2021-04-10 13:35:38 2.11MB Linux C++ SMTP 发邮件
1
net coreSMTP协议发邮件
2021-04-10 12:03:34 1.75MB NetCore SMTP 发送邮件
1
检查Xcode项目的project文件中,target是否被人误删,并发送邮件告警
2021-04-03 21:12:33 21KB Python开发-编辑器插件
1
C# 截屏发送邮件程序
2021-04-03 09:07:05 42KB C#截屏发送邮件程序
可配置化shell脚本监控zookeeper集群节点,如果节点运行状态异常发送邮件通知单个或多个管理员
2021-04-02 16:53:42 2KB shell zookeeper
1
发送邮件
2021-03-31 18:01:31 54KB email springBoot 案例Demo\ 发送邮件
1
使用python连接oracle,执行sql语句,执行结果保存在excel中,通过qq邮件发送结果到你的邮箱。方便工作。
2021-03-28 12:05:57 6KB oracle python
1
我们在平时工作中可能会遇到要批量发送邮件的工作,例如财务部根据每个人的工资情况发放工资条到个人的邮箱,因为邮件因人而异,所以需要完成大量而细致的工作,工作繁琐,重复劳动多,非常适合批量发送。因此研究如何利用电子表格建立数据,利用OutLook来发送这些数据,要求发送具有表格格式的工资条。 #使用工具 Excel及VBA技术 OutLook 参加本人博客同名文章
2021-03-26 16:07:33 51KB Exce OutLook 自动发送邮件
1
C++ CSmtp 发送邮件 支持SSL和TLS,如可以使用Gmail账户发送邮件 纯C++,同时支持Windows和Linux 简单易用的API 本例可以直接用Visual Studio 2010加载 CSmatp mail; mail.SetLogin("***"); mail.SetPassword("***"); mail.SetSenderName("User"); mail.SetSenderMail("user@domain.com"); mail.SetReplyTo("user@domain.com"); mail.SetSubject("The message"); mail.AddRecipient("friend@domain2.com"); mail.SetXPriority(XPRIORITY_NORMAL); mail.SetXMailer("The Bat! (v3.02) Professional"); mail.AddMsgLine("Hello,"); mail.AddMsgLine("..."); mail.AddMsgLine("How are you today?"); mail.AddMsgLine("Regards"); mail.ModMsgLine(5,"regards"); mail.AddMsgLine("User"); mail.AddAttachment("../test1.jpg"); mail.AddAttachment("c:\\test2.exe"); mail.Send();
2021-03-26 11:13:10 1.63MB C++ CSmtp 发送邮件 SMTP
1
JAVA定时发送邮件功能代码样例
1