summaryrefslogtreecommitdiffstats
path: root/kbugbuster/backend/smtp.h
diff options
context:
space:
mode:
Diffstat (limited to 'kbugbuster/backend/smtp.h')
-rw-r--r--kbugbuster/backend/smtp.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/kbugbuster/backend/smtp.h b/kbugbuster/backend/smtp.h
new file mode 100644
index 00000000..d800cb77
--- /dev/null
+++ b/kbugbuster/backend/smtp.h
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** 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