diff options
author | pixel <pixel> | 2007-10-12 13:07:42 +0000 |
---|---|---|
committer | pixel <pixel> | 2007-10-12 13:07:42 +0000 |
commit | f17840bffba5b1e5eb7d0ab3712513e81deebfaa (patch) | |
tree | a366c772fd19dd740cd5e13d8bfda9f28dfc3677 /include/MailClient.h | |
parent | 54885ea33f4022e552784e63df1c75fc26e181dd (diff) |
Adding SocketClient and MailClient.
Diffstat (limited to 'include/MailClient.h')
-rw-r--r-- | include/MailClient.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/include/MailClient.h b/include/MailClient.h new file mode 100644 index 0000000..60fc735 --- /dev/null +++ b/include/MailClient.h @@ -0,0 +1,61 @@ +/* + * Baltisot + * Copyright (C) 1999-2007 Nicolas "Pixel" Noble + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* $Id: MailClient.h,v 1.1 2007-10-12 13:07:42 pixel Exp $ */ + +#ifndef __MAILCLIENT_H__ +#define __MAILCLIENT_H__ + +#include <vector> + +#include <Socket.h> +#include <BString.h> +#include <Task.h> +#include <Handle.h> +#include <SocketClient.h> +#include <Buffer.h> +#include <Exceptions.h> +#include <Variables.h> + +class MailClient : public SocketClient { + public: + typedef std::vector<String> strings_t; + MailClient(const String & smtp, const String & subject, const String & from, strings_t headers, strings_t tos, strings_t ccs, strings_t bccs, strings_t fakes, Handle * body); + virtual ~MailClient(); + + protected: + virtual int Do() throw (GeneralException); + + private: + int readCode(); + void writeEmail(Handle *); + String getEmail(const String &); + String getNext(); + + String smtp, subject, from; + strings_t headers, tos, ccs, bccs, fakes; + Handle * body; + + String msg; + + std::vector<String>::iterator ptr, end; + enum { RCPT_BEGIN, RCPT_TOS, RCPT_CCS, RCPT_BCCS, RCPT_END } cur_rcpt; +}; + +#endif |