So senden Sie E-Mails in C++

In diesem Tutorial werden wir untersuchen, wie man Email in C++ sendet**. Sie erfahren, wie Sie mit einfachen API-Aufrufen E-Mails mit dem SMTP-Client auf dem Gmail-Server in C++ senden. Sie müssen weder Microsoft Outlook noch einen anderen E-Mail-Client installieren, um die API auf Windows- und Linux-Plattformen zu verwenden.

Schritte zum Senden von E-Mails in C++

  1. Installieren Sie Aspose.Email for C++ aus dem NuGet-Paket-Manager
  2. Verweis auf Namespace Aspose::Email hinzufügen
  3. Stellen Sie eine Verbindung zum Gmail-Postfach her, indem Sie Anmeldeinformationen in der SmtpClient Class-Instanz verwenden
  4. Laden Sie die E-Mail-Nachricht mithilfe der MailMessage-Klasseninstanz von der Festplatte
  5. Durch die Verwendung von Send, die vom SMTP-Client verfügbar gemacht wird, senden Sie eine E-Mail-Nachricht in C++

Sie können ganz einfach in wenigen Codezeilen E-Mails über den mit Gmail verbundenen SMTP-Client in C++ senden. In diesem Beispiel haben wir gezeigt, wie Sie E-Mails im EML-Format über SMTP senden können. Sie können auch E-Mail-Nachrichten im MSG-Format senden und müssen die MsgLoadOption-Klasse in Zeile 42 des Beispiels verwenden.

Code zum Senden von E-Mails in C++

#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);
}

Vorher haben wir So senden Sie E-Mails in C# gelernt. Dagegen konzentriert sich dieses Thema darauf, wie Sie E-Mails auf dem Gmail-Server mit dem SMTP-Client in C++ senden* können. Bei Verwendung dieses Beispiels erhalten Sie möglicherweise eine Ausnahme wie “Der SMTP-Server erfordert eine sichere Verbindung oder der Client wurde nicht authentifiziert”. Tatsächlich vermutet Google Mail, dass Ihre Anwendung weniger sicher ist, und verbietet Ihnen, E-Mails über ihren SMTP-Server zu senden. Um das Gmail-SMTP-Problem zu lösen, besuchen Sie bitte das Thema allow access to less secure apps to send email.

 Deutsch