POP3.h
上传用户:yh_company
上传日期:2013-04-25
资源大小:19k
文件大小:2k
源码类别:

Email客户端

开发平台:

Visual C++

  1. // POP3.h: Interface for CPOP3.
  2. // In adaption of Wes Clyburn's CSMTP class.
  3. // Copyright (C) 1998 Michael Krebs
  4. //////////////////////////////////////////////////////////////////////
  5. #if !defined(AFX_POP3_H__CFFD2FBB_859A_11D2_A529_444553540000__INCLUDED_)
  6. #define AFX_POP3_H__CFFD2FBB_859A_11D2_A529_444553540000__INCLUDED_
  7. #if _MSC_VER > 1000
  8. #pragma once
  9. #endif // _MSC_VER > 1000
  10. #include <afxsock.h>
  11. #include "MailMessage.h"
  12. #define POP3_PORT 110 // Standard port for POP3 servers
  13. #define RESPONSE_BUFFER_SIZE 1024
  14. class CPOP3  
  15. {
  16. public:
  17. CPOP3( LPCTSTR szPOP3ServerName, UINT nPort = POP3_PORT, LPCTSTR sUsername = NULL, LPCTSTR sPassword = NULL );
  18. virtual ~CPOP3();
  19. void SetServerProperties( LPCTSTR sServerHostName, UINT nPort = POP3_PORT );
  20. void SetUserProperties( LPCTSTR sUsername, LPCTSTR sPassword );
  21. CString GetLastError();
  22. UINT GetPort();
  23. CString GetServerHostName();
  24. CString GetUsername();
  25. CString GetPassword();
  26. BOOL Disconnect();
  27. BOOL Connect();
  28. int GetNumMessages();
  29. BOOL GetMessage( UINT nMsg, CMailMessage* msg);
  30. BOOL DeleteMessage( UINT nMsg );
  31. private:
  32. BOOL get_response( UINT executed_action );
  33. CString m_sError;
  34. CString m_sResponse;
  35. BOOL m_bConnected;
  36. UINT m_nPort;
  37. CString m_sPOP3ServerHostName;
  38. CString m_sUsername;
  39. CString m_sPassword;
  40. CSocket m_wsPOP3Server;
  41. protected:
  42. enum eResponse
  43. {
  44. CONNECTION = 0,
  45. IDENTIFICATION,
  46. AUTHENTIFICATION,
  47. STATUS,
  48. RETRIEVE,
  49. DELE,
  50. QUIT,
  51. // Include any others here
  52. LAST_RESPONSE // Do not add entries past this one
  53. };
  54. TCHAR response_buf[ RESPONSE_BUFFER_SIZE ];
  55. static TCHAR* error_table[];
  56. };
  57. #endif // !defined(AFX_POP3_H__CFFD2FBB_859A_11D2_A529_444553540000__INCLUDED_)