You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.4 KiB
68 lines
1.4 KiB
15 years ago
|
/****************************************************************************
|
||
|
**
|
||
|
** This file is a modified version of part of an example program for Qt.
|
||
|
** This file may be used, distributed and modified without limitation.
|
||
|
**
|
||
|
** Don Sanders <sanders@kde.org>
|
||
|
**
|
||
|
*****************************************************************************/
|
||
|
|
||
|
#ifndef SMTP_H
|
||
|
#define SMTP_H
|
||
|
|
||
|
#include <qobject.h>
|
||
|
#include <qstring.h>
|
||
|
#include <qstringlist.h>
|
||
|
|
||
|
class QSocket;
|
||
|
class QTextStream;
|
||
|
|
||
|
class Smtp : public QObject
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
Smtp( const QString &from, const QStringList &to, const QString &message,
|
||
|
const QString &server, unsigned short int port = 25 );
|
||
|
~Smtp();
|
||
|
void send( const QString &, const QStringList &, const QString & );
|
||
|
void quit();
|
||
|
|
||
|
|
||
|
signals:
|
||
|
void success();
|
||
|
void status( const QString & );
|
||
|
void error( const QString &command, const QString &response );
|
||
|
|
||
|
private slots:
|
||
|
void readyRead();
|
||
|
void connected();
|
||
|
void deleteMe();
|
||
|
void socketError(int err);
|
||
|
void emitError();
|
||
|
|
||
|
private:
|
||
|
enum State {
|
||
|
smtpInit,
|
||
|
smtpMail,
|
||
|
smtpRcpt,
|
||
|
smtpData,
|
||
|
smtpBody,
|
||
|
smtpSuccess,
|
||
|
smtpQuit,
|
||
|
smtpClose
|
||
|
};
|
||
|
|
||
|
QString message;
|
||
|
QString from;
|
||
|
QStringList rcpt;
|
||
|
QSocket *mSocket;
|
||
|
QTextStream * t;
|
||
|
int state;
|
||
|
QString response, responseLine;
|
||
|
bool skipReadResponse;
|
||
|
QString command;
|
||
|
};
|
||
|
|
||
|
#endif
|