كيفية حفظ رسالة البريد الإلكتروني في C ++

في هذا البرنامج التعليمي ، سوف نتعلم كيفية ** حفظ Email الرسالة في C ++ **. ستلاحظ كيفية الاتصال بصندوق البريد الخاص بك باستخدام Exchange Client لجلب وحفظ رسائل البريد الإلكتروني منه باستخدام مكالمات API بسيطة في C ++.

خطوات حفظ رسالة البريد الإلكتروني في C ++

  1. قم بتثبيت Aspose.Email for C++ من NuGet package Manager Tool
  2. قم بتضمين مرجع إلى مساحة الاسم Aspose::Email
  3. اتصل بصندوق بريد Exchange من خلال توفير بيانات الاعتماد في طريقة EWSClient.GetEWSClient ()
  4. كرر عبر كل بريد إلكتروني في ExchangeMessageInfoCollection لصندوق البريد
  5. احفظ الرسالة بتنسيق 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 ++ *.

 عربي