-
Notifications
You must be signed in to change notification settings - Fork 1
/
Email.cpp
74 lines (63 loc) · 1.79 KB
/
Email.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*************************************************
FileName: Email.cpp
Description: 使用SmtpClient-for-Qt-v1.1库发送包含验证码的邮件
*************************************************/
#include "Email.h"
#include<qhostinfo.h>
#include<qdatetime.h>
#define toUTF8(str) QString::fromLocal8Bit(str)
Email::Email()
{
smtp=new SmtpClient("smtp.qq.com", 587, SmtpClient::TcpConnection);
smtp->setUser(mailAddress);
smtp->setPassword(mailpassword);
}
Email::~Email()
{
smtp->quit();
smtp->deleteLater();
}
/*************************************************
Description: 连接邮件服务
Input:
Return: 是否连接成功
*************************************************/
bool Email::connect()
{
if (smtp->connectToHost())
{
if (smtp->login())
{
return true;
}
}
return false;
}
/*************************************************
Description: 连接邮件服务
Input: toMailAddress=用户邮箱
code=验证码
Return: 是否发送成功
*************************************************/
bool Email::sendMail(QString toMailAddress,QString code)
{
MimeMessage message;
EmailAddress sender(mailAddress);
EmailAddress to(toMailAddress);
message.setSender(&sender);
message.addRecipient(&to);
message.setSubject(toUTF8("SPDS坐姿监测系统用户注册验证码")); //邮件主题
QString textStr= toUTF8("\
您好!\n\
您正在进行SPDS坐姿监测系统注册,\n\
您的邮箱验证码是:[code](5分钟内有效),\
请及时输入验证码进行验证。\n\n\
广东东软学院SPDS项目团队\n\
[DateTime]\n");
textStr.replace("[code]", code);
textStr.replace("[DateTime]", QDateTime::currentDateTime().toString(toUTF8("yyyy年MM月dd日 hh:mm")));
MimeText text;
text.setText(textStr);
message.addPart(&text);
return smtp->sendMail(message);
}