summaryrefslogtreecommitdiff
path: root/noncore/unsupported/mail2/libmail/smtphandler.h
authorconber <conber>2002-06-15 09:46:14 (UTC)
committer conber <conber>2002-06-15 09:46:14 (UTC)
commit7f2eef29708380844922f34f59ba4e9beefbf7c3 (patch) (side-by-side diff)
treef57125fbaabddecc35d6677f1b9e48a4594165d5 /noncore/unsupported/mail2/libmail/smtphandler.h
parent0acbdd392814589df303b6e50c79d9822e3db27a (diff)
downloadopie-7f2eef29708380844922f34f59ba4e9beefbf7c3.zip
opie-7f2eef29708380844922f34f59ba4e9beefbf7c3.tar.gz
opie-7f2eef29708380844922f34f59ba4e9beefbf7c3.tar.bz2
initial checkin
Diffstat (limited to 'noncore/unsupported/mail2/libmail/smtphandler.h') (more/less context) (show whitespace changes)
-rw-r--r--noncore/unsupported/mail2/libmail/smtphandler.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/noncore/unsupported/mail2/libmail/smtphandler.h b/noncore/unsupported/mail2/libmail/smtphandler.h
new file mode 100644
index 0000000..abbcbcd
--- a/dev/null
+++ b/noncore/unsupported/mail2/libmail/smtphandler.h
@@ -0,0 +1,55 @@
+#ifndef SMTPHANDLER_H
+#define SMTPHANDLER_H
+
+#include <qobject.h>
+#include <qstring.h>
+
+#include "configfile.h"
+
+class QSocket;
+
+class SmtpHandler : public QObject
+{
+ Q_OBJECT
+
+public:
+ SmtpHandler(const QString &header, const QString &message, Account &account, const QString &to);
+
+ enum SmtpError {
+ ErrConnectionRefused,
+ ErrHostNotFound,
+ ErrUnknownResponse,
+ ErrAuthNotSupported
+ };
+
+public slots:
+ void stop();
+
+signals:
+ void finished();
+ void error(const QString &);
+ void status(const QString &);
+
+private slots:
+ void readyRead();
+ void hostFound();
+ void connected();
+ void deleteMe();
+ void errorHandling(int);
+
+private:
+ void sendToSocket(const QString &text, bool log = true);
+
+ enum State { Ehlo, Auth, ReadAuth, Helo, Mail, Rcpt,
+ Data, Body, Quit, Close };
+
+ QString _header, _message;
+ Account _account;
+ QString _to;
+ QSocket *_socket;
+ int _state;
+};
+
+#endif
+
+