/**************************************************************************** ** ** 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 ** *****************************************************************************/ #ifndef SMTP_H #define SMTP_H #include #include #include 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