www.pudn.com > doc2pdf-0_7_1.rar > doc2pdf_pop3.h
///////////////////////////////////////////////////////////////////////////// // // Project: Doc2pdf // // File: doc2pdf_pop3.h // // Author(s): Matt Peterson// // Description: Pop3 email reader // ///////////////////////////////////////////////////////////////////////////// #ifndef DOC2PDF_POP3_H_INCLUDED #define DOC2PDF_POP3_H_INCLUDED #include "doc2pdf_email.h" #include "doc2pdf_io.h" enum ParseState {UNKNOWN,FROM,TO,REPLYTO,CC,SUBJECT,CONTENTTYPE,CONTENTDISPOSITION,CONTENTENCODING,CONTENTDESCRIPTION}; //=========================================================================== // Reads email from Pop3 class Doc2pdfPop3Reader { protected: CString m_Pop3host; CString m_Pop3user; CString m_Pop3passwd; CString m_Maildir; // For Fixing up ISO encoded filenames int FixFilenameData(const CString& contenttype, CString& data); // Returns zero on success, non-zero on failure int ReadAttachment(Doc2pdfIO* io, const CString& boundary, const CString& filename, ContentEncoding encoding, Doc2pdfEmail& email); // Zero on success, non-zero on error int FigureOutContentType(const CString& contenttype, const CString& contentdisposition, const CString& contentencoding, const CString& contentdescription, ContentType& type, ContentEncoding& encoding, CString& data); // Returns zero on success, non-zero on failure int ReadMultipart(Doc2pdfIO* io, CString boundary, Doc2pdfEmail& email); // Returns zero on success, non-zero on failure int ReadMultipartHeader(Doc2pdfIO* io, ContentType& type, ContentEncoding& encoding, CString& boundary); // Returns zero on success, non-zero on failure int ReadBody(Doc2pdfIO* io, const CString& boundary, Doc2pdfEmail& email); // Returns zero on success, non-zero on failure int ReadHeader(Doc2pdfIO* io, ContentType& type, ContentEncoding& encoding, Doc2pdfEmail& email); // Returns zero on success, non-zero on failure int ReadEmail(Doc2pdfIO* io, int number, Doc2pdfEmail& email); // Returns zero on success, non-zero on failure int DeleteEmail(Doc2pdfIO* io, int number); // Returns zero on success, non-zero on failure int Login(Doc2pdfIO* io); // Returns zero on success, non-zero on failure int Logout(Doc2pdfIO* io); public: Doc2pdfPop3Reader(); ~Doc2pdfPop3Reader(); // Returns zero on success, non-zero on error int Init(const CString& pop3host, const CString& pop3user, const CString& pop3passwd, const CString& maildir); // Returns number of emails read int ReadAllEmail(Doc2pdfEmailList& email); // Delete count emails int Doc2pdfPop3Reader::DeleteAllEmail(int count); }; #endif