root/MimeEncode.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. CMimeEncode

// MimeEncode.h: CMimeEncode クラスのインターフェイス
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MIMEENCODE_H__40A1CBE1_046D_11D6_8C76_444553540000__INCLUDED_)
#define AFX_MIMEENCODE_H__40A1CBE1_046D_11D6_8C76_444553540000__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// GetMailに渡される必要なメールの形式
#define ME_GET_SEND                             (0)
#define ME_GET_DRAFT                    (1)
#define ME_GET_OUTBOX                   (2)
#define ME_GET_SEND_PGP_MIME    (3)
#define ME_GET_PRE_ENC_PGP              (4)

// m_mime_mode
#define ME_MODE_NONE            (0)
#define ME_MODE_PGP                     (1)
#define ME_MODE_RFC822          (2)

struct MULTIPART_STRUCT2
{
        CString m_type;                                         // text/plain text/html とか
        CString m_file_name;                            // 添付ファイル等の名前
        CString m_encoding_type;                        // 7bit 8bit bin base64 quoted-printable とか
        CString m_body;                                         // multipartのボディ
        CString m_path;                                         // ファイルへのパス
        CString m_content_type;                         // これがそのままヘッダに適用される
        CString m_content_transfer_encoding;// 上記に同じ
        CString m_content_disposition;          // さらに上記に同じ

};

class CMimeEncode  
{
private:
        struct MIMEENCODE_STRUCT
        {
                CString m_to;
                CString m_from;
                CString m_cc;
                CString m_bcc;
                CString m_subject;
                CString m_reply_to;
                CString m_in_reply_to;
                CString m_xmailer;
                CString m_date;
                CString m_message_id;
                CStringArray m_attach;
                CArray<MULTIPART_STRUCT2, MULTIPART_STRUCT2> m_multipart;
        } m_data;
public:
        BOOL EncodeBase64(CString &out, CString in);
        CString GetProtocol();
        int GetMode();
        void SetMode(int mime_mode);
        CMimeEncode();
        virtual ~CMimeEncode();
        int HowManyPart();
        int HowManyAttach();
        CString GetMail(int for_what);
        void CopyFrom(CMimeEncode *me);
        void Initialize();
        void SetBcc(CString bcc);
        void SetCc(CString cc);
        void SetFrom(CString from);
        void SetInReplyTo(CString in_reply_to);
        void SetSubject(CString subject);
        void SetTo(CString to);
        void SetXMailer(CString xmailer);
        void SetDate(CString date);
        void SetReplyTo(CString reply_to);
        void SetMessageID(CString message_id);
        void AddAttach(CString attach);
        void AddMultipart(MULTIPART_STRUCT2 &multipart);
        void SetMultipart(int part, MULTIPART_STRUCT2 &multipart);
        void SetMultipartBody(int part, CString body);
        void EncodeHeader(CString& org);
        BOOL AddAttachedFile(CString path);
        void AddPgpEncrypted(CString enc);
        void AddPgpKey(CString key);
        void AddText(CString body);
        void RemoveMultipart(int part);
        void AddRFC822(CString mail);
        BOOL EncodeBase64FromFile(CString path, CString &buf);
        int m_mime_mode;
        CString GetBcc();
        CString GetCc();
        CString GetFrom();
        CString GetInReplyTo();
        CString GetSubject();
        CString GetTo();
        CString GetDate();
        CString GetReplyTo();
        CString GetMessageID();
        CString GetCT(int part);
        CString GetCD(int part);
        CString GetCTE(int part);
        CString GetBody(int part);
        CString GetAttach(int part);
        CString GetMultipartBody(int part);
        CString GetMultipartEncType(int part);
        CString GetMultipartFileName(int part);
        CString GetMultipartPath(int part);
        CString GetMultipartType(int part);
};

#endif // !defined(AFX_MIMEENCODE_H__40A1CBE1_046D_11D6_8C76_444553540000__INCLUDED_)

/* [<][>][^][v][top][bottom][index][help] */