www.pudn.com > doc2pdf-0_7_1.rar > Doc2pdfEmail.h
//=========================================================================== // // Project: doc2pdf - email robot Microsoft Office(tm) document converter // // File Doc2pdfEmail.h // // Author: Matthew Peterson// // Description: The email box and converter (the guts) // //=========================================================================== #ifndef DOC2PDFEMAIL_H_INCLUDED #define DOC2PDFEMAIL_H_INCLUDED #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include #include #include "MySocket.h" #include "Doc2PdfLog.h" #define CRLF "\r\n" #define DOC2PDF_VERSION "0.1" #define DOC2PDF_NOCONVERT \ "Could not find any attachments to convert. Some mailers (like mutt)" CRLF \ "use nested multipart messages when forwarding email. Doc2pdf does not" CRLF \ "yet support nested all nested multipart messages." CRLF #define DOC2PDF_GREETING \ "The documents converted by Doc2pdf version " DOC2PDF_VERSION CRLF CRLF\ "Doc2pdf is OpenSource Software written by Matthew Peterson. For more " CRLF\ "information please see http://doc2pdf.sourceforge.net" CRLF CRLF #define DOC2PDF_ORIGMSG "-------- Original Message --------" CRLF CRLF #define DOC2PDF_GS_AT \ "-dCompatibilityLevel#%s -q -dSAFER -r600 -dNOPAUSE -dBATCH -sDEVICE#pdfwrite "\ "-sOutputFile#\"%s\" -c .setpdfwrite -f \"%s\"" #define DOC2PDF_BUFSIZE 65535 #define DOC2PDF_WINDOW_CHECK_DELAY 500 // .5 seconds #define DOC2PDF_DELETE_DELAY 250 // .25 seconds #define DOC2PDF_LOAD_DELAY 60 // 60 seconds #define DOC2PDF_POP3_RECV_DELAY 30000 // 50 minutes #define DOC2PDF_SMTP_SEND_DELAY 30000 // 50 minutes #define DOC2PDF_CONNECT_DELAY 30 // 30 seconds #define DOC2PDF_PRINT_DELAY 30000 // 50 minutes #define DOC2PDF_GS_COMPATLEVEL "1.3" #define DOC2PDF_DOCFILE "doc2pdf.doc" #define DOC2PDF_PSFILE "doc2pdf.ps" #define DOC2PDF_PDFFILE "doc2pdf.pdf" #define DOC2PDF_ATFILE "doc2pdf.at" #define DOC2PDF_PART_BOUNDARY "-1463746972-545804720-1004601966:17559" class CDoc2PdfEmail { public: CString m_From; CString m_To; CString m_Cc; CString m_Subject; CString m_Date; CString m_ContentType; CString m_Body; CStringList m_Attachments; }; typedef CList CDoc2PdfEmailArray; class CDoc2PdfEmailBox { protected: CDoc2PdfEmailArray m_Mailbox; CWnd* GetChildWindow(const CWnd* parent, int index); int SendKeys(CWnd* wnd, const CString& string); int ConvertDoc2Ps(const CString& infile, const CString& outfile); int ConvertPs2Pdf(const CString& atfile, const CString& infile, const CString& outfile); int ConvertFromBase64(const CString& file); int ConvertToBase64(const CString& file); int ConvertAddressStringToList(const CString& str, CStringList& list); int ReadEmail(CMySocket& sock, const char* prefix, CDoc2PdfEmail* email); public: enum EmailParseState { UNKNOWN,TO,CC,SUBJECT,FROM,DATE,CONTENTTYPE,ATTACHMENTHEADER,ATTACHMENTBODY }; BOOL m_IsInitialized; CString m_Pop3Host; CString m_Pop3User; CString m_Pop3Passwd; CString m_SmtpHost; CString m_MyEmailAddress; CString m_SpoolDir; CString m_GhostScriptDir; CDoc2PdfLog* m_Log; CDoc2PdfEmailBox(); void SetLog(CDoc2PdfLog* log); int Pop3Download(); int Convert(); int SmptUpload(); }; #endif