|
//
// Imap class
// Copyright (C) Elmue
//
// This class is a wrapper that makes it easier to use the vmime library.
// NOTE: You should access this class only from the same thread that has created the instance.
//
#pragma once
// NEVER include windows.h in a header file in a Managed C++ project !!
#include "cEmailParser.hpp"
#pragma unmanaged
#if VMIME_HAVE_MESSAGING_FEATURES && VMIME_HAVE_MESSAGING_PROTO_IMAP
namespace vmime {
namespace wrapper {
class cImap
{
public:
cImap(const wchar_t* u16_Server, vmime_uint16 u16_Port, cCommon::eSecurity e_Security, bool b_AllowInvalidCerts, vmime_uint16 u16_ResIdCert);
virtual ~cImap();
void SetAuthData(const wchar_t* u16_User, const wchar_t* u16_Password);
void EnumFolders(vector<wstring>& i_FolderList);
void SelectFolder(const wstring s_Path);
wstring GetCurrentFolder();
int GetEmailCount();
cEmailParser* FetchEmailAt(int s32_Index);
void Close();
private:
void Connect();
string ms_User;
string ms_Password;
string ms_Server;
vmime_uint16 mu16_Port;
cCommon::eSecurity me_Security;
vmime_uint16 mu16_ResIdCert;
bool mb_AllowInvalidCerts;
ref<net::session> mi_Session;
ref<net::store> mi_Store;
ref<net::folder> mi_Folder;
wstring ms_Folder;
};
} // namespace wrapper
} // namespace vmime
#endif // VMIME_HAVE_MESSAGING_FEATURES && VMIME_HAVE_MESSAGING_PROTO_IMAP
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Chris Maunder is the co-founder of
CodeProject and
ContentLab.com, and has been a prominent figure in the software development community for nearly 30 years. Hailing from Australia, Chris has a background in Mathematics, Astrophysics, Environmental Engineering and Defence Research. His programming endeavours span everything from FORTRAN on Super Computers, C++/MFC on Windows, through to to high-load .NET web applications and Python AI applications on everything from macOS to a Raspberry Pi. Chris is a full-stack developer who is as comfortable with SQL as he is with CSS.
In the late 1990s, he and his business partner David Cunningham recognized the need for a platform that would facilitate knowledge-sharing among developers, leading to the establishment of CodeProject.com in 1999. Chris's expertise in programming and his passion for fostering a collaborative environment have played a pivotal role in the success of CodeProject.com. Over the years, the website has grown into a vibrant community where programmers worldwide can connect, exchange ideas, and find solutions to coding challenges. Chris is a prolific contributor to the developer community through his articles and tutorials, and his latest passion project,
CodeProject.AI.
In addition to his work with CodeProject.com, Chris co-founded ContentLab and DeveloperMedia, two projects focussed on helping companies make their Software Projects a success. Chris's roles included Product Development, Content Creation, Client Satisfaction and Systems Automation.