?? pop3.h
字號(hào):
// Pop3.h: interface for the CPop3 class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_POP3_H__C7D744E6_CB2C_44AC_9E1D_71D0D9F1D1CC__INCLUDED_)
#define AFX_POP3_H__C7D744E6_CB2C_44AC_9E1D_71D0D9F1D1CC__INCLUDED_
#include "Pop3Socket.h" // Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CPop3
{
public:
BOOL Reset(void);
// 獲得郵件主題
LPCTSTR GetMailHeader(UINT nIndex);
// 發(fā)送NOOP命令,進(jìn)行一次空操作
BOOL Noop(void);
// 獲得出錯(cuò)信息
LPCTSTR GetErrorString(void);
// 發(fā)送STAT命令,獲得郵件總體的狀態(tài)信息
BOOL GetState(void);
// 發(fā)送LIST命令,獲得郵件的具體狀態(tài)信息
BOOL List(void);
// 發(fā)送RETR命令,接收郵件正文
BOOL RetrieveMail(UINT nIndex,CString &strMsg);
// 發(fā)送DELE命令,將所選郵件標(biāo)記為刪除
BOOL Delete(UINT nIndex);
// 發(fā)送TOP命令,獲得所有的郵件主題
BOOL ListHeader(void);
// 私有變量接口函數(shù),返回給定索引的郵件大小
DWORD GetMsgSize(UINT nID);
// 私有變量接口函數(shù),返回郵件數(shù)目
UINT GetMailCount(void) const;
// 發(fā)送命令
BOOL Send(LPCTSTR lpszSend,UINT nLength);
// 斷開連接,發(fā)送QUIT命令,并請(qǐng)求真正刪除所要求的郵件
BOOL Disconnect(void);
// 建立與服務(wù)器的連接,其中包括登錄的過(guò)程
BOOL Connect(LPCTSTR strAddress,LPCTSTR strUser,LPCTSTR strPassword,UINT nPort = 110);
CPop3();
virtual ~CPop3();
protected:
// 所有郵件的總體大小
UINT m_nSize;
// 通信的套接字
SOCKET m_sock;
// 郵件數(shù)目,以GetMailCount為接口函數(shù)
UINT m_nMails;
// 記錄是否發(fā)送過(guò)有效的LIST命令
BOOL m_bList;
// 記錄是否發(fā)送過(guò)有效的STAT命令
BOOL m_bState;
// 記錄每個(gè)郵件大小的MFC數(shù)組變量
CDWordArray m_arSizes;
// 記錄每個(gè)郵件主題的MFC數(shù)組變量
CStringArray m_arHeaders;
// 記錄是否已經(jīng)與服務(wù)器建立連接
BOOL m_bConnected;
// 記錄回應(yīng)的消息
CString m_sResponse;
// 確定是否超時(shí),只要用去的時(shí)間超過(guò)該值就表示超時(shí)
// 應(yīng)該采取相應(yīng)措施
DWORD m_dwTimeout;
private:
// 記錄出錯(cuò)信息,以GetErrorString為接口函數(shù)
CString m_sError;
// 去除開頭的+OK標(biāo)識(shí),獲得回應(yīng)的有效信息
// 從返回的信息中提取數(shù)目和大小信息,主要用于LIST命令的回應(yīng)信息
BOOL ParseNumAndSize(UINT &nNum,UINT &nSize,LPCTSTR lpszBuf,UINT &nEnd);
// 讀取回應(yīng)信息,與GetResponse函數(shù)不同,它進(jìn)行實(shí)際的工作
BOOL ReadResponse(TCHAR *pChar,UINT nSize,BOOL bDouble);
BOOL GetResponse(void);
// 讀取針對(duì)LIST命令的返回信息
// 由于對(duì)LIST命令的返回信息較特殊,所以用單獨(dú)的函數(shù)
BOOL ReadList(void);
// 對(duì)STAT命令的返回信息,原因同上
BOOL ReadState(void);
};
#endif // !defined(AFX_POP3_H__C7D744E6_CB2C_44AC_9E1D_71D0D9F1D1CC__INCLUDED_)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -