Այս ձեռնարկում մենք կսովորենք, թե ինչպես Պահել Email հաղորդագրությունը C++-ում: Դուք կդիտարկեք, թե ինչպես միանալ ձեր փոստարկղի հետ՝ օգտագործելով Exchange Client-ը՝ դրանից էլ-նամակները վերցնելու և պահելու համար՝ օգտագործելով պարզ API զանգեր C++-ում:
Էլփոստի հաղորդագրությունը C++-ում պահելու քայլեր
- Տեղադրեք Aspose.Email for C++-ը NuGet փաթեթների կառավարիչ գործիքից
- Ներառեք հղում Aspose::Email անվանատարածքին
- Միացեք Exchange փոստարկղին՝ տրամադրելով հավատարմագրեր EWSClient.GetEWSClient() մեթոդով
- Կրկնեք յուրաքանչյուր էլփոստի միջոցով ExchangeMessageInfoCollection փոստարկղի մեջ
- Պահպանեք հաղորդագրությունը EML և MSG ձևաչափով սկավառակի վրա՝ օգտագործելով C++
Դուք կարող եք հեշտությամբ Փրկել նամակները սկավառակի վրա C++-ում՝ օգտագործելով մի քանի տող կոդ: Դուք պարզապես պետք է միանաք ձեր փոստարկղին EWSClient-ի միջոցով և մուտք գործեք հաղորդագրությունների հավաքածու: Այնուհետև կարող եք էլփոստի հաղորդագրությունները պահել կամ EML ձևաչափով կամ MSG ձևաչափով սկավառակի վրա` օգտագործելով պարզ կոդ C++-ում:
Կոդ՝ էլփոստի հաղորդագրությունը C++-ում պահելու համար
#pragma once | |
#include <Tools/Search/StringComparisonField.h> | |
#include <Tools/Search/MailQuery.h> | |
#include <Tools/Search/BoolComparisonField.h> | |
#include <system/string.h> | |
#include <system/shared_ptr.h> | |
#include <stdio.h> | |
#include <system/object.h> | |
#include <Clients/Exchange/WebService/EWSClient/IEWSClient.h> | |
#include <Clients/Exchange/WebService/EWSClient/EWSClient.h> | |
#include <MailAddress.h> | |
#include <MailAddressCollection.h> | |
#include <MailAddress.h> | |
#include <Clients/Exchange/ExchangeMessageInfoCollection.h> | |
#include <Clients/Exchange/ExchangeMailboxInfo.h> | |
#include <system/console.h> | |
#include <system/environment.h> | |
#include <system/object_ext.h> | |
#include <Licensing/License.h> | |
using namespace Aspose::Email; | |
using namespace Aspose::Email::Clients::Exchange; | |
using namespace Aspose::Email::Clients::Exchange::WebService; | |
using namespace System; | |
void SaveEmailFromEWS() | |
{ | |
// Set the license for Aspose.Email for CPP | |
SharedPtr<License> license = System::MakeObject<License>(); | |
license->SetLicense(u"licFile"); | |
// EWS Client Credentials | |
const System::String mailboxUri = u"https://outlook.office365.com/ews/exchange.asmx"; | |
const System::String username = u"username"; | |
const System::String password = u"password"; | |
const System::String domain = u"domain"; | |
try | |
{ | |
// Connect to EWS | |
System::SharedPtr<IEWSClient> client = EWSClient::GetEWSClient(mailboxUri, username, password, domain); | |
// Get mailbox | |
System::SharedPtr<ExchangeMailboxInfo> MailBoxInfo = client->GetMailboxInfo(); | |
// Get list of all messages from the mail box | |
System::SharedPtr< ExchangeMessageInfoCollection> MessagesCollection = | |
client->ListMessages(client->GetMailboxInfo()->get_InboxUri()); | |
//Loop through email messages | |
int MessageCount = 1; | |
for(System::SharedPtr <ExchangeMessageInfo> MessageInfo : MessagesCollection) | |
{ | |
System::String strMessageURI = MessageInfo->get_UniqueUri(); | |
// Access message details | |
System::Console::Write(System::Environment::get_NewLine() + | |
System::ObjectExt::ToString(u"Subject: " + MessageInfo->get_Subject())); | |
System::Console::Write(System::Environment::get_NewLine() + | |
System::ObjectExt::ToString(u"From: " + System::ObjectExt::ToString(MessageInfo->get_From()))); | |
System::Console::Write(System::Environment::get_NewLine() + | |
System::ObjectExt::ToString(u"To: " + System::ObjectExt::ToString(MessageInfo->get_To()))); | |
System::Console::Write(System::Environment::get_NewLine() + | |
System::ObjectExt::ToString(u"Message ID: " + MessageInfo->get_MessageId())); | |
System::Console::Write(System::Environment::get_NewLine() + | |
System::ObjectExt::ToString(u"Unique URI: " + MessageInfo->get_UniqueUri())); | |
// Save each message on disk in EML and MSG formats | |
System::String MessageStr = u"Messsage_"+MessageCount; | |
client->SaveMessage(strMessageURI, MessageStr + u".eml"); | |
client->SaveMessage(strMessageURI, MessageStr + u".msg"); | |
MessageCount++; | |
} | |
} | |
catch (System::Exception ex) | |
{ | |
System::Console::Write(System::Environment::get_NewLine() + System::ObjectExt::ToString(ex)); | |
} | |
} |
Ավելի վաղ մենք սովորել էինք Ինչպես ուղարկել նամակ C++-ով-ը։ Մինչդեռ այս թեմայում մենք սովորեցինք, թե ինչպես միանալ փոստարկղին՝ օգտագործելով Exchange-ի հաճախորդը և պահել էլփոստի հաղորդագրությունը սկավառակի վրա C++-ով: