QT SMTP发送邮件(封装库)

        SMTP是一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把E—mail寄到收信人的服务器上了,整个过程只需要几分钟。SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或中转用户发出的电子邮件。

    本文作者原创,转载请附上文章出处与本文链接。

        程序暂时闭源,但提供免费,版本也会一直更新。目前正在测试阶段,首发邮件、功能都已实现、其余更加个性化的功能也会陆续更新。

        本文分为两个部分,一部分是项目说明、一部分是测试项目、一部分是部分开源代码。

QT SMTP发送邮件(封装库)目录

1、项目说明

2、测试项目

2.1 测试软件截图

 2.2 部分源码

3、部分源代码

4、资源文件


1、项目说明

        软件支持 126、139、QQ、阿里等主流邮箱

        软件支持 TcpConnection、SslConnection、TlsConnection方式发送邮件

        软件接下来的更新目标 2021年10月底更新构建附件,提供支持发送附件功能

        软件接下来的更新目标 2021年11月底更新发送邮件内容自定义、包括字体颜色、格式、等加自由的个性化设置

        如果大家使用过程中发现问题,请留言 看到会及时更新解决。

2、测试项目

2.1 测试软件截图

 2.2 部分源码

.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDebug>
#include "qt_email_dll.h"
#include "QT_Email_Dll_global.h"

#pragma execution_character_set("utf-8")
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();


private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::on_pushButton_clicked()
{
    int ierrorCode = 0;
    QString strText ="";

    QT_Email_Dll Q_EmailDll;

   //strText = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$";
    strText = "[a-zA-Z0-9-_|a-zA-Z\.vip]+@[a-zA-Z0-9-_]+\\.[a-zA-Z]+";


   ierrorCode = Q_EmailDll.OnInitDialog("xxxxx@qq.com","xxxxxpw","xxxxx@qq.com","xxxxx","xxxxx@qq.com","xxxxx",ui->textEdit->toPlainText(),strText);
   if(ierrorCode != 0)
   {
       qDebug() << "Parameter error" << ierrorCode;
       return;
   }
   ierrorCode = Q_EmailDll.InitDreamBeginsEmail("smtp.qq.com",587,0);
   if(ierrorCode != 0)
   {
       qDebug() << " code error"<< ierrorCode;
       return;
   }
   qDebug() << " Email Successful" ;
}

3、部分源代码

    /**
     *  @fn     OnInitDialog(QString EName, QString EPwd, QString ESender, QString ESenderName, QString ERecipient, QString ETitle, QString ETextData)
     *  @brief  Initialize Input Parameters
     *  @param  EName       [IN]    - Server EmailName
                EPwd        [IN]    - Server EamilPassword
                ESender     [IN]    - The    Sender
                ESenderName [IN]    - The    Sender Email
                ERecipient  [IN]    - The    Recipient
                ETitle      [IN]    - Email  Title
                ETextData   [IN]    - Email  Content
                ERegExp     [IN]    - Email  Rules
     *  @return return Success 0; Fail, return Error Srever -1; return Error UserLogin -2; return Error EmailSend -3;
     */
    int OnInitDialog(QString EName, QString EPwd, QString ESender, QString ESenderName, QString ERecipient, QString ETitle, QString ETextData, QString ERegExp);

    /**
     *  @fn     InitDreamBeginsEmail(QString strEmail, int iPort, int Connection)
     *  @brief  Initialization Parameter Connection Email
     *  @param  strEmail     [IN]    - Server       smtp.qq.com  smtp.163.com    smtp.126.com    smt.sina.com    smtp.sohu.com   smtp.139.com    smtp.189.com
                iPort        [IN]    - Port         25           465             587
                Connection   [IN]    - connection   0 TcpConnection     1 SslConnection     2 TlsConnection
     *  @return return Success 0; Fail, return Error Srever -1; return Error UserLogin -2; return Error EmailSend -3;
     */
    int InitDreamBeginsEmail(QString strEmail, int iPort, int Connection);

    /**
     *  @fn     Validation(QString QStr, QString RegExp)
     *  @brief  Email Check
     *  @param  QStr         [IN]    - Email
     *  @param  RegExp       [IN]    - ValidationRules
     *  @return return Correct 0; return Error 1;
     */
    int Validation(QString QStr, QString RegExp);

4、资源文件

完整测试项目地址:

https://download.csdn.net/download/qq_37529913/24092280

依赖文件下载:

https://download.csdn.net/download/qq_37529913/24093884

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

双子座断点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值