Smtp邮件发送
自己写的一个基于Qt4的smtp类,实习做的项目,由于公司Qt版本和应用场景,懒得到处找库了,就搜了搜博客自己写(改) 了一个。
会提供完整样例。
头文件PStmp.h
//PSmtp.h
#ifndef PSMTP_H
#define PSMTP_H
#include<QObject>
#include<QTcpSocket>
#include<QDebug>
#include<QStringList>
#include<QFile>
#include<QFileInfo>
#include<QImage>
#include<QTextCodec>
#define EMAIL_ERROR 0 //邮件发送失败
#define EMAIL_SUCCEED 1 //邮件发送成功
#define STATUS_MAX 6.0
//PSmtp 用于发送邮件
class PSmtp : public QObject{
Q_OBJECT
public:
PSmtp(QString server,quint16 port,QString username,QString pwd,QString receive,QString title,QString content,QString attachment,QObject *parent=NULL);
~PSmtp();
void sendMail();
private:
QString p_username; //用户名 例:pepsi_juice@163.com
QString p_pwd; //授权码
QString p_receive; //收件人
QString p_title; //标题
QString p_content; //正文
QString p_server; //服务器 smtp.qq.com/smtp.163.com
quint16 p_port; //端口 默认25
QString p_attachemnt; //附件列表
int p_status;
QTcpSocket *tcpSocket;
QByteArray serverText;
signals:
void disconnected();
void emailStatus(int status);
void progress(double p);
public slots:
void connectToServer();
void disconnectFromServer();
void getMessage();
};
#endif // PSMTP_H
用的时候直接在类初始化的时输入参数即可。
完整demo:
gitee:https://gitee.com/pepsi-juice/pepsi_juice_c.git