?? main.cpp
字號:
#include "stdafx.h"
#include "pop3.h"
class CApp : public CWinApp
{
protected:
virtual BOOL InitInstance();
};
CApp theApp;
BOOL CApp::InitInstance()
{
///* //When you want to test the parsing without having to download an email
CFile f2;
CPop3Message message2;
if(f2.Open(_T("c:\\message.dat"), CFile::modeRead | CFile::shareDenyWrite))
{
DWORD dwLength = f2.GetLength();
message2.m_pszMessage = new char[dwLength];
f2.Read(message2.m_pszMessage, dwLength);
}
else
TRACE(_T("Failed to write message to file\n"));
CString sHeader = message2.GetHeader();
CString sTo = message2.GetHeaderItem(_T("To"));
CString sBody = message2.GetBody();
LPCSTR lpszBody = message2.GetRawBody();
CString sSubject = message2.GetSubject();
CString sFrom = message2.GetFrom();
CString sDate = message2.GetDate();
CString sReplyTo = message2.GetReplyTo();
CString sReceived1 = message2.GetHeaderItem("Received", 0);
CString sReceived2 = message2.GetHeaderItem("Received", 1);
CString sReceived3 = message2.GetHeaderItem("Received", 2);
CString sReceived4 = message2.GetHeaderItem("Received", 3);
CString sReceived5 = message2.GetHeaderItem("Received", 4);
return FALSE;
//*/
//initialise sockets
if (!AfxSocketInit())
{
TRACE(_T("Failed to initialise the Winsock stack\n"));
return FALSE;
}
//try out the POP3 Client class
CPop3Connection p3;
//you should change the parameters address, name and password
//to connect to your own POP3 mailbox
if (!p3.Connect(_T("mail.someisp.com"), _T("auser"), _T("apassword")))
{
DWORD dwError = GetLastError();
CString sError = p3.GetLastCommandResponse();
return FALSE;
}
if (!p3.Noop())
{
DWORD dwError = GetLastError();
CString sError = p3.GetLastCommandResponse();
}
int nMails;
int nSize;
if (!p3.Statistics(nMails, nSize))
{
DWORD dwError = GetLastError();
CString sError = p3.GetLastCommandResponse();
}
if (nMails)
{
CPop3Message message;
DWORD dwSize;
if (!p3.GetMessageSize(1, dwSize))
{
DWORD dwError = GetLastError();
CString sError = p3.GetLastCommandResponse();
}
if (!p3.Retrieve(1, message))
{
DWORD dwError = GetLastError();
CString sError = p3.GetLastCommandResponse();
}
else
{
//Same the mail to a file on disk
CFile f;
if (f.Open(_T("c:\\message.dat"), CFile::modeCreate | CFile::modeWrite | CFile::shareDenyWrite))
{
LPCSTR pszMessage = message.GetMessageText();
f.Write(pszMessage, strlen(pszMessage));
}
else
TRACE(_T("Failed to write message to file\n"));
}
for (int i=1; i<=nMails; i++)
{
CString sID;
if (!p3.GetMessageID(i, sID))
{
DWORD dwError = GetLastError();
CString sError = p3.GetLastCommandResponse();
}
}
if (!p3.Delete(1))
{
DWORD dwError = GetLastError();
CString sError = p3.GetLastCommandResponse();
}
if (p3.Delete(nMails+1))
{
DWORD dwError = GetLastError();
CString sError = p3.GetLastCommandResponse();
TRACE(_T("Succeeded in deleting a non-existance message ???\n"));
}
if (!p3.Reset())
{
DWORD dwError = GetLastError();
CString sError = p3.GetLastCommandResponse();
}
}
else
TRACE(_T("No mails waiting for you at the POP3 server\n"));
if (!p3.Disconnect())
{
DWORD dwError = GetLastError();
CString sError = p3.GetLastCommandResponse();
}
return FALSE;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -