#ifndef SMTP_H
#define SMTP_H
#include <QtCore>
#include <QCoreApplication>
#include <QObject>
#include <QTcpSocket>
#include <QString>
#include <QTextStream>
#include <QDebug>
#include <QAbstractSocket>
#include <QDateTime>
#include <QDate>
#include <QLocale>
#include <QObject>
#include <QTcpSocket>
class Smtp : public QObject
{
Q_OBJECT
public:
Smtp(QString smtphost, QString smtpusername, QString smtppass);
~Smtp();
bool Send( const QString &to,const QString &subject, const QString &body );
int linesend;
QStringList ErrorMSG;
bool ReadLiner();
void ErrorCloseAll();
signals:
void status( const QString &);
void SendLine();
public slots:
bool PutSendLine();
private:
bool isconnect;
QString smtphost;
QString smtpusername;
QString smtppass;
QString message;
QString output;
QString RemoteServerName;
QString mailstatus;
QTextStream *t;
QTcpSocket *smtpsocket;
QString from;
QString rcpt;
QString response;
QString SendLineAndGrab(QString senddata);
int Timeout;
QString encodeBase64( QString xml );
QString decodeBase64( QString xml );
int dateswap(QString form, uint unixtime );
QString TimeStampMail();
};
#endif
#include "smtp.h"
Smtp::Smtp(QString smtphost, QString smtpusername, QString smtppass)
{
this->smtphost = smtphost;
this->smtpusername = smtpusername;
this->smtppass = smtppass;
}
bool Smtp::Send( const QString &to, const QString &subject, const QString &body )
{
qDebug()<<"####"<<Q_FUNC_INFO;
bool res = false;
int waittime = 5 * 1000;
this->from = smtpusername;
rcpt = to;
ErrorMSG.clear();
Timeout = waittime;
linesend = 0;
isconnect = false;
QString tmp = "=?utf-8