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