当前位置:编程学习 > C/C++ >>

POP3协议封装类

 

 

    目前互连网上,EMAIL的使用是越来越广泛了。在所有的TCP连接线路中,大概有一半的线路是用来收发EMAIL的。因此,许多网络应用程序要想离开POP3协议是不可能的。

 

    而且,很多EMAIL系统都是使用SMTP协议来作为发送协议,而POP3协议来作为接受协议。关于这2个协议的许多资料,你可以看一下RCF821(关于SMTP的)和RCF1225(关于POP3的)。虽然在WINDOWS操作系统中,有一个叫MAPI应用程序是来管理EMAIL的,但是它的功能还不够强大,不足以直接处理一些EMAIL服务。所以,我写了一个有关于POP3协议的C++类,在这个类中我还使用了CSocket作为一个类成员(这好象有点不可想象),这样的话呢,我们可以在连接的时候使用它。并且,该POP类使用的一些功能类似于POP3协议中的一些命令。下面就代码:

 

/*--------------------------------------------------------------------

     Pop.h : main header file for the POP application

-----------------------------------------------------------------------*/

 

#if !defined(AFX_POP_H__A44B38B6_697C_11D1_881E_00001C302581__INCLUDED_)

#define AFX_POP_H__A44B38B6_697C_11D1_881E_00001C302581__INCLUDED_

 

#define CONNECTION_CHECK 0

#define USER_CHECK  1

#define PASSWORD_CHECK 2

#define QUIT_CHECK  3

#define DELETE_CHECK 4

#define RSET_CHECK  5

#define STAT_CHECK  6

#define NOOP_CHECK  7

#define LIST_CHECK  8

#define RETR_CHECK  9

 

/////////////////////////////////////////////////////////////////////////////

class CPop

{

public:

 BOOL List();

 CWordArray m_SizeOfMsg;

 CString GetErrorMessage();    // If there is any error this will return it method

 CString GetPassword();           // Getting Password stored in class

 void SetPassword(CString& Password);    // Setting Password in class

 CString GetUser();                   // Getting user name stored in class

 void SetUser(CString& User);  // Setting user name in class

 CString GetHost();  // Getting Host name (email server name) stored in class

 void SetHost(CString& Host);    // Setting Host name (email server name) in class

 BOOL Connect();                    // Connecting to email server

 int GetTotalMailSize();                // it returns the Total Mail Size

 int GetNumberOfMails();            // It return the number of mails

 CString GetMsgContents();        

 BOOL Statistics();                    // issue the STAT command on email server

 BOOL Retrieve(int MsgNumber);    // Getting any particular mail message

 BOOL Reset();                        // issue the reset command on email server

 int  GetMessageSize(int MsgNumber);    // Return a size of any particular mail

 BOOL Noop();      

补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,