首页| 论坛| 消息

标题:Qt开源作品28-邮件发送工具
作者:liudianwu
日期:2020-06-05 10:27
内容:

## 一、前言
邮件发送工具是好多年前就开源出来的,核心就是调用最底层socket通信来实现的邮件发送程序,以前用C#写过,微软都封装好的,不知道底层是如何实现的,只知道调用方法,这次用C++实现了下,参考了很多网上的例子。
其实说白了,无非就是smtp协议的使用,这个是国际通用的标准,所以QQ邮箱和163邮箱都可以用,都可以互发,来自百度百科的解释:SMTP目前已是事实上的在Internet传输E-Mail的标准,是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确定是存在的),然后消息文本就传输了,可以自行搜索具体原理。
其他说明:163邮箱和126邮箱,发送端口都是25,不使用SSL协议,而QQ邮箱必须使用SSL协议,端口为465。如果是QQ邮箱发送的话,前提要在QQ邮箱设置中将smtp协议开通,否则发送不成功,我就困在这里半个小时,结果收到QQ邮箱发过来的一封邮件,你妹啊,默认QQ邮箱没有开启SMTP服务。
**主要功能:**
1. 持主流邮箱例如163邮箱QQ邮箱的发送。
2. 支持富文本发送,可以发送带有HTML格式的文本。
3. 支持多个附件发送,附件可以是图片。
## 二、代码思路
```c++
void SendEmailThread::run()
{
while (!stopped) {
int count = contents.count();
if (count > 0) {
mutex.lock();
QString content = contents.takeFirst();
QString fileName = fileNames.takeFirst();
mutex.unlock();
QString result;
QStringList list = sendEmailAddr.split("@");
QString tempSMTP = list.at(1).split(".").at(0);
int tempPo ..

回复 发表
主题 版块