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 | 
