105 lines
2.8 KiB
C++
105 lines
2.8 KiB
C++
|
#pragma execution_character_set("utf-8")
|
|||
|
|
|||
|
#include "frmemailtool.h"
|
|||
|
#include "ui_frmemailtool.h"
|
|||
|
#include "qfiledialog.h"
|
|||
|
#include "qmessagebox.h"
|
|||
|
#include "sendemailthread.h"
|
|||
|
|
|||
|
frmEmailTool::frmEmailTool(QWidget *parent) : QWidget(parent), ui(new Ui::frmEmailTool)
|
|||
|
{
|
|||
|
ui->setupUi(this);
|
|||
|
this->initForm();
|
|||
|
}
|
|||
|
|
|||
|
frmEmailTool::~frmEmailTool()
|
|||
|
{
|
|||
|
delete ui;
|
|||
|
}
|
|||
|
|
|||
|
void frmEmailTool::initForm()
|
|||
|
{
|
|||
|
ui->cboxServer->setCurrentIndex(1);
|
|||
|
connect(SendEmailThread::Instance(), SIGNAL(receiveEmailResult(QString)),
|
|||
|
this, SLOT(receiveEmailResult(QString)));
|
|||
|
SendEmailThread::Instance()->start();
|
|||
|
}
|
|||
|
|
|||
|
void frmEmailTool::on_btnSend_clicked()
|
|||
|
{
|
|||
|
if (!check()) {
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
SendEmailThread::Instance()->setEmailTitle(ui->txtTitle->text());
|
|||
|
SendEmailThread::Instance()->setSendEmailAddr(ui->txtSenderAddr->text());
|
|||
|
SendEmailThread::Instance()->setSendEmailPwd(ui->txtSenderPwd->text());
|
|||
|
SendEmailThread::Instance()->setReceiveEmailAddr(ui->txtReceiverAddr->text());
|
|||
|
|
|||
|
//设置好上述配置后,以后只要调用Append方法即可发送邮件
|
|||
|
SendEmailThread::Instance()->append(ui->txtContent->toHtml(), ui->txtFileName->text());
|
|||
|
}
|
|||
|
|
|||
|
void frmEmailTool::on_btnSelect_clicked()
|
|||
|
{
|
|||
|
QFileDialog dialog(this);
|
|||
|
dialog.setFileMode(QFileDialog::ExistingFiles);
|
|||
|
|
|||
|
if (dialog.exec()) {
|
|||
|
ui->txtFileName->clear();
|
|||
|
QStringList files = dialog.selectedFiles();
|
|||
|
ui->txtFileName->setText(files.join(";"));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
bool frmEmailTool::check()
|
|||
|
{
|
|||
|
if (ui->txtSenderAddr->text() == "") {
|
|||
|
QMessageBox::critical(this, "错误", "用户名不能为空!");
|
|||
|
ui->txtSenderAddr->setFocus();
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
if (ui->txtSenderPwd->text() == "") {
|
|||
|
QMessageBox::critical(this, "错误", "用户密码不能为空!");
|
|||
|
ui->txtSenderPwd->setFocus();
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
if (ui->txtSenderAddr->text() == "") {
|
|||
|
QMessageBox::critical(this, "错误", "发件人不能为空!");
|
|||
|
ui->txtSenderAddr->setFocus();
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
if (ui->txtReceiverAddr->text() == "") {
|
|||
|
QMessageBox::critical(this, "错误", "收件人不能为空!");
|
|||
|
ui->txtReceiverAddr->setFocus();
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
if (ui->txtTitle->text() == "") {
|
|||
|
QMessageBox::critical(this, "错误", "邮件标题不能为空!");
|
|||
|
ui->txtTitle->setFocus();
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
void frmEmailTool::on_cboxServer_currentIndexChanged(int index)
|
|||
|
{
|
|||
|
if (index == 2) {
|
|||
|
ui->cboxPort->setCurrentIndex(1);
|
|||
|
ui->ckSSL->setChecked(true);
|
|||
|
} else {
|
|||
|
ui->cboxPort->setCurrentIndex(0);
|
|||
|
ui->ckSSL->setChecked(false);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void frmEmailTool::receiveEmailResult(QString result)
|
|||
|
{
|
|||
|
QMessageBox::information(this, "提示", result);
|
|||
|
}
|