qt5.5.1+vs2010发送邮件

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

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文件下载

时间: 2024-11-05 16:05:46

qt5.5.1+vs2010发送邮件的相关文章

Qt5.2.1 + VS2010安装错误(Unable to find a Qt build)

本文旨在这对Qt+Vs安装过程中,遇到Unable to find a Qt build问题的解决办法. 首先,介绍安装过程, 安装过程可以分为三步. 第一步:VS2010旗舰版,安装过程可以默认或者自己设置: 第二步:安装qt-opensource-windows-x86-msvc2010-5.2.1,安装路径同样可以默认或者定制: 第三步:安装qt-vs-addin-1.2.4-opensource,安装过程同样可以默认或者定制. 然后,启动VS2010,会在菜单栏看到Qt5选项,截图如下:

QT5.4关联VS2010,配置VAssistX关联Qt类

1.参考网站:http://www.kavenblog.com/?p=272 2.下载插件:http://www.qt.io/zh-hans/download-open-source/#section-7 3.安装插件: 4.查看与配置 打开VS2010: QT5菜单项: 选择Qt Options 5.创建测试项目: OK,Test项目创建完成,具体如下: 我们编译一下项目: 1>—— 已启动生成: 项目: Test, 配置: Debug Win32 —— 1>生成启动时间为 2015/3/1

windows下 qt5&vs2010 在qtCreator下中文乱码

环境:windows2012下 qt5.3.1 & vs2010 在qtCreator3.1.2下中文乱码 解决方法:在相关文件中加入代码 #ifdef Q_OS_WIN32 #if _MSC_VER >= 1600 #pragma execution_character_set("utf-8") #endif #endif 或定义一个头文件 包含上面代码,然后在相关文件中引入该头文件.

QT 5 配置MySQL 过程记录

配置过程记录一下,年纪大了记性很差-- 0 安装环境 Win10x64+Qt5.5(x86)+VS2010(x86) 1 安装MySQL 注意: 以下是按x64版本安装的,x86版本的安装流程没有区别. MySQL安装的版本应该与Qt的版本相对应,切记!切记! 1.1 下载 http://dev.mysql.com/downloads/mysql/ 选择 mysql-5.7.14-winx64.zip下载 1.2 解压 解压缩文件到安装目录 注意:不要在安装目录中保留空格 1.3 配置 (1)将

Qt532_WebKit_SSL问题

1.打开网页"http://www.baidu.com",它会跳转至"https://www.baidu.com/",使用 SSL了,于是 WebView 出现如下报错信息: QSslSocket: cannot call unresolved function SSLv23_client_method QSslSocket: cannot call unresolved function SSL_CTX_new QSslSocket: cannot call un

OSG+QT5+vs2010编译

OSG+QT5+vs2010编译 作者:[email protected]  本文属于原创,转载请注明出处. 由于网上没有找到关于编译QT5环境下的OSG,自己就研究了下,记录下整个过程,希望能帮到大家. 1. 准备工作 下载源代码: A.openscenegraph 3.2.1(当前最新的realease版本) http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.2.1.zip B.osg-3r

【Qt】VS2010编译Qt5.3.2 64bit

讨论QQ群:135202158 1. 为什么要这么做 在Windows下,Qt官网默认提供的二进制版本大多是32位,目前(2015.01.24)只对VS2013提供了64位版本,如下图所示: 为了适应我目前安装的VS2010 IDE,也为了根据自己的需要编译特定的库和插件(比如去掉webkit之类),需要直接从源码编译Qt. 本例编译的是Qt5.3.2版本,应该也适用于Qt5.4.0. 2. 准备 首先,当然需要一个C++编译器,由于一些兼容性原因,我需要用Visual C++ 2010, 也可

使用VS2010开发Qt程序的4点经验(QT4到QT5的升级,更改sln文件,切换工程使用的Qt库,在VS的Solution Explorer视图中建立文件夹)

导读 相比于Qt Creator,我更喜欢用VS2010来进行开发.虽然启动时间相对较慢,但是VS下强大的快捷键和丰富的插件,以及使用多年的经验,都让我觉得在开发过程中得心应手.其中最重要的一点是,有时候Qt Creator报的错误莫名其妙.要根据提示找到错误根源显得无从下手.而VS的一般错误说明都比较人性化,即便在某些时候无从解决,也可以通过搜索引擎大致定位出错误的源头.下面是在调试网上的一些源代码的时候,积累下来的一点经验,记下来一来备忘,二来也可供后来人参考. The system can

Qt5 + VS2010 Express 环境搭建时遇到的几个问题的解决办法

以前一直用 MingGW +Qt 开发界面程序.最近试了试 VS2010 Express,感觉还不错,准备以后界面开发采用 Qt5 + VS2010 Express.不过安装时遇到了些小问题,费了些周折才解决了.这里记录下解决的办法,希望能对别人有些帮助. 问题1: 'vcvarsall.bat' 不是内部或外部命令,也不是可运行的程序或批处理文件. 解决办法:将 vcvarsall.bat 所在目录加入都 PATH 环境变量中 问题2: 执行 vcvarsall.bat 提示如下的错误信息: