Hogyan küldjünk e-mailt C++ nyelven

Ebben az oktatóanyagban megvizsgáljuk, hogyan lehet Küldni a(z) Email fájlt C++-ban. Megtanulja, hogyan küldhet e-maileket a Gmail Server SMTP-kliensével C++ nyelven egyszerű API-hívásokkal. Az API Windows és Linux platformokon való használatához nem kell telepítenie a Microsoft Outlookot vagy bármely más e-mail klienst.

Az e-mail küldésének lépései C++ nyelven

  1. Telepítse a Aspose.Email for C++ alkalmazást a NuGet csomagkezelőből
  2. Hivatkozás hozzáadása a Aspose::Email névtérhez
  3. A SmtpClient Class példány hitelesítési adatainak használatával csatlakozhat a Gmail postafiókjához
  4. Töltse be az e-mail üzenetet a lemezről a MailMessage Class példány használatával
  5. Az SMTP kliens által kitett Send használatával küldjön e-mailt C++ nyelven

Könnyedén küldhet e-mailt a Gmailhez C++-ban csatlakoztatott SMTP-kliens használatával, néhány sornyi kóddal. Ebben a példában bemutattuk, hogyan küldhet EML formátumú e-mailt SMTP-n keresztül. MSG formátumú e-mail üzenetet is küldhet, és ehhez az MsgLoadOption osztályt kell használnia a példa 42. sorában.

E-mail küldéshez szükséges kód C++ nyelven

#pragma once
#include <system/object.h>
#include <system/array.h>
#include <system/string.h>
#include <system/shared_ptr.h>
#include <system/object_ext.h>
#include <system/exceptions.h>
#include <system/environment.h>
#include <system/diagnostics/trace.h>
#include <system/console.h>
#include <MailMessage.h>
#include <EmlLoadOptions.h>
#include <Clients/Smtp/SmtpClient/SmtpClient.h>
#pragma once
#include <Clients/SecurityOptions.h>
#include <system/io/path.h>
#include <system/io/directory_info.h>
#include <system/io/directory.h>
#include <Licensing/License.h>
using namespace Aspose::Email::Clients::Smtp;
using namespace Aspose::Email::Clients;
using namespace Aspose::Email;
using namespace System;
void SendingEMLWithSMTP()
{
// Set the license for Aspose.Email for CPP
SharedPtr<License> license = System::MakeObject<License>();
license->SetLicense(u"licFile");
// The path to the source EML file to be send
System::String dstEmail = u"Message.eml";
// Ue MailMessage class to load the email Message from disk
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();
// Load the file in EML format
message = MailMessage::Load(dstEmail, System::MakeObject<EmlLoadOptions>());
// Instantiate SmtpClient class object to connect to SMTP server
System::SharedPtr<SmtpClient> client = System::MakeObject<SmtpClient>(u"smtp.gmail.com", 587,
u"your.email@gmail.com", u"your.password");
client->set_SecurityOptions(Aspose::Email::Clients::SecurityOptions::Auto);
try
{
// Send the message
client->Send(message);
System::Console::WriteLine(u"Message has been sent");
}
catch (System::Exception& ex)
{
System::Diagnostics::Trace::WriteLine(System::ObjectExt::ToString(ex));
}
System::Console::WriteLine(System::Environment::get_NewLine() + u"Email sent using EML file successfully. " + dstEmail);
}

Korábban megtudtuk, hogy Hogyan küldjünk e-mailt C#-ban. Ezzel szemben ez a témakör arra összpontosít, hogyan küldhet e-mailt a Gmail szerveren a C++ nyelvű SMTP-kliens használatával. Ennek a példának a használatakor előfordulhat, hogy kivételt kaphat, például Az SMTP-kiszolgáló biztonságos kapcsolatot igényel, vagy a kliens nem volt hitelesítve. Valójában a Gmail azt gyanítja, hogy az alkalmazás kevésbé biztonságos, és megtiltja, hogy az SMTP-szerver használatával e-maileket küldjön. A Gmail SMTP-probléma megoldása érdekében keresse fel a(z) allow access to less secure apps to send email témakört.

 Magyar