⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 epop3.h

📁 这个基于嵌入式平台SMART PHONE电子邮件收发管理系统(MAIL MAN是一个电子邮件客户端软件。它以很小的体积
💻 H
字号:
// ePop3.h: interface for the CePop3 class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_EPOP3_H__52CF41A7_8FAF_4C3D_9DA3_AFBA8D096125__INCLUDED_)
#define AFX_EPOP3_H__52CF41A7_8FAF_4C3D_9DA3_AFBA8D096125__INCLUDED_

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

#include "Mail.h"
#include "Segment.h"
#include "MailDate.h"
#include "CeUidlDB.h"

int const POP3SERVER_LENGTH = 50; //pop3服务器名长度
int const MESSEAGE_LENGTH = 100;  //m_message的长度
int const POP3_PORT_NUMBER	= 110; //默认的端口号
int const RESPONSEBUFFER_LENGTH = 1024;//缓冲区的大小
int const MAX_USER_PASSWORD_LENGTH = 40;//最大的用户名与密码长度
int const MAX_DBNAME_LENGTH = 40;
int const MAX_ERROR_MESSAGE_LENGTH = 40;
int const MAX_MESSAGE_CONTENT_LENGTH = 1024;
#define MAILDATA_DEFUALT_PATH L"MailData/"

class CePop3  
{
public:
	BOOL ReleaseSrc();
	BOOL ParseMailHead(int index);
	CMail* m_MailList;
	BOOL AddUidlDB(int index);
	BOOL HaveNewMails();
	BOOL CheckUIDL(char* uidl);
	BOOL UIDLByNum(int MsgNumber);
	BOOL UIDL();
	void set_username(char* username);
	BOOL PrepareDB();
	HANDLE m_hFile;
	int m_actualreceivedbytes;
	BOOL Retrieve();
	BOOL ParseMailHead();
	BOOL CreateMailList();
	BOOL ListByNum(int MsgNumber);
	BOOL List();
	BOOL Statistics();
	BOOL Retrieve(int  MsgNumber);
	BOOL Reset();
	BOOL Noop();
	BOOL Delete(int MsgNumber);
	BOOL SendMessage();
	BOOL DisConnect();
	BOOL POP3Connect(int portnumber = POP3_PORT_NUMBER);
	BOOL Login();
	void set_user(char*);
	void set_password(char *);
	void set_servername(char *);
	CePop3();
	virtual ~CePop3();
	int m_NumberMail;
		CeUidlDB m_UidlDB;
private:
	int get_response(int ResponseType);
	char m_rebuffer[RESPONSEBUFFER_LENGTH];		//接收服务器返回消息的缓冲区
	char m_message[MESSEAGE_LENGTH];			//字符串消息
	char m_pop3server[POP3SERVER_LENGTH];		//pop3服务器名
	char m_user[MAX_USER_PASSWORD_LENGTH];		//用户名
	char m_password[MAX_USER_PASSWORD_LENGTH];	//用户密码
	char m_username[MAX_USER_PASSWORD_LENGTH];
	char m_ErrorMessage[MAX_ERROR_MESSAGE_LENGTH];
	char m_MsgContent[MAX_MESSAGE_CONTENT_LENGTH];
	TCHAR m_DBName[MAX_DBNAME_LENGTH];
	SOCKET	m_socketid;							//socket描述符

	int m_TotalSize;
	int* m_SizeOfMsg;
	char** m_UidlsOfMsg;
	int* m_IndexOfMsg;
	int m_CurrentMsg;

	CeMailDate m_InMail;
	CeMailDate m_TrashMail;
	CeMailDate m_FileManager;

	TCHAR DIRECTORY_PATH[100];
	CEGUID guid;
	BOOL Retrieve_Type; ////True:收邮件时不删除邮件,False:边收边删
	enum eResponse{
		CONNECTION_CHECK=0,
			USER_CHECK,
			PASSWORD_CHECK,	
			QUIT_CHECK,	
			DELETE_CHECK,	
			RSET_CHECK,
			STAT_CHECK,
			NOOP_CHECK,
			LIST_CHECK,
			RETR_CHECK,
			UIDL_CHECK,
			DISCONNECTION_CHECK
	};
	static char* response_table[];







};

#endif // !defined(AFX_EPOP3_H__52CF41A7_8FAF_4C3D_9DA3_AFBA8D096125__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -