最近用到了这个功能,用于验证登陆~为此在网上找了好久,发现这方面的问答并不多!唯独这篇的解答实在。原文传送

1、首先选定自己的发送方的邮箱,无论是163还是qq邮箱等,首先都得开通SMTP服务;以163为例:


开启之后会收到一个授权码(自己设置的),在之后的登陆处使用的并不是邮箱密码,而是这个授权码。

2、准备好sendemailapi文件夹放置项目源文件目录下,里面存放的公开的第三方的支持发送附件和富文本的MIME协议文件,拖进一个PushButton用以测试,右击项目文件点击“Add Existing Directory” 把sendemailapi添加进来。记得添加–>

3、至于这个槽怎么写 ,上面那篇文章写的很清楚了,Qt5 版本可能不支持toAscii(),可以用toLatin1()代替。 
4、

 SmtpClient smtp("smtp.163.com",
25,
SmtpClient::TcpConnection);// SmtpClient::SslConnection
smtp.setUser("*******@163.com");
smtp.setPassword("");
//依次是服务器,端口,传输协议,邮箱名,以及上面提到的授权码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
//构建邮件主题,包含发件人收件人附件等.
MimeMessage message;
message.setSender(new EmailAddress("*******@163.com")); //逐个添加收件人
message.addRecipient(new EmailAddress("×××××××@163.com"));//添加多个可利用循环
//构建邮件标题
message.setSubject("××××××"); //构建邮件正文
//HTML格式

// MimeHtml text; 
// text.setHtml(ui->txtContent->toHtml());

//如果直接发送简单文本,使用以下方法
MimeText text;
text.setText(""); message.addPart(&text); //构建附件
QString atta="";
if (atta!=""){
QStringList attas=atta.split(";");
foreach (QString tempAtta, attas) {
QFile *file=new QFile(tempAtta);
if (file->exists()){
message.addPart(new MimeAttachment(file));
}
}

}

if (!smtp.connectToHost()){
QMessageBox::critical(this,"错误","服务器连接失败!");
return;
}
if (!smtp.login()){
QMessageBox::critical(this,"错误","用户登录失败!");
return;
}
if (!smtp.sendMail(message)){
QMessageBox::critical(this,"错误","邮件发送失败!");
return;
}else{ QMessageBox::information(this,"错误","邮件发送成功!");
}
smtp.quit();

sendemailapi文件下载

最新文章

  1. 答:SQLServer DBA 三十问之五:有关视图索引
  2. EUI HSlider 实现音量控制
  3. 对比MS Test与NUnit Test框架
  4. 隐马尔可夫模型(Hidden Markov Model,HMM)
  5. poj1166
  6. 给jdk写注释系列之jdk1.6容器(5)-LinkedHashMap源码解析
  7. C#多线程(二)
  8. Java基础知识强化75:正则表达式之分割功能(字符串中的数字排序案例)
  9. linux中断--进程上下文和中断上下文
  10. 百度地图API相关点
  11. MySQL(九)之数据表的查询详解(SELECT语法)一
  12. Linux运维(首页)
  13. 【Linux】Mac Centos install VMware Tools
  14. asp.netmvc部署到linux(centos)
  15. 【转】利用 selenium 的 webdrive 驱动 headless chrome
  16. CF552 E. Two Teams
  17. How to load custom styles at runtime (不会翻译,只有抄了 )
  18. 【Odoo 8开发教程】第二章:Odoo生产环境部署设置
  19. Django import相关
  20. 【AtCoder】Dwango Programming Contest V题解

热门文章

  1. 【HDU 4819】Mosaic
  2. HNOI2017 day1 T2 影魔
  3. 详述IntelliJ IDEA插件的安装及使用方法(图解)
  4. Table View Programming Guide for iOS---(一)---About Table Views in iOS Apps
  5. Windows远程服务器不能复制粘贴
  6. K
  7. poj1837【背包】
  8. Codeforces 378C
  9. 第十一篇 .NET高级技术之内置泛型委托
  10. Xor-sequences CodeForces - 691E || 矩阵快速幂