Jak wysłać e-mail w C++

W tym samouczku przyjrzymy się, jak **wysłać Email w C+++. Dowiesz się, jak wysyłać pocztę za pomocą klienta SMTP na serwerze Gmail w C++ za pomocą prostych wywołań API. Nie musisz instalować programu Microsoft Outlook ani żadnego innego klienta poczty e-mail, aby korzystać z interfejsu API na platformach Windows i Linux.

Kroki wysyłania wiadomości e-mail w C++

  1. Zainstaluj Aspose.Email for C++ z Menedżera pakietów NuGet
  2. Dodaj odniesienie do przestrzeni nazw Aspose::Email
  3. Połącz się ze skrzynką pocztową Gmail, używając poświadczeń w instancji SmtpClient Class
  4. Załaduj wiadomość e-mail z dysku przy użyciu instancji klasy MailMessage
  5. Za pomocą opcji Wyślij ujawnione przez klienta SMTP wyślij wiadomość e-mail w języku C++

Możesz łatwo wysłać e-mail za pomocą klienta SMTP połączonego z Gmailem w C++ w kilku linijkach kodu. W tym przykładzie pokazaliśmy, jak możesz wysłać e-mail w formacie EML za pomocą SMTP. Możesz również wysłać wiadomość e-mail w formacie MSG i będzie wymagać użycia klasy MsgLoadOption w linii 42 przykładu.

Kod do wysyłania wiadomości e-mail w 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);
}

Wcześniej dowiedzieliśmy się, że Jak wysłać e-mail w C#. Podczas gdy ten temat koncentruje się na tym, jak wysłać wiadomość e-mail na serwerze Gmail przy użyciu klienta SMTP w C++. Korzystając z tego przykładu, możesz otrzymać wyjątek typu Serwer SMTP wymaga bezpiecznego połączenia lub klient nie został uwierzytelniony”. W rzeczywistości Gmail podejrzewa, że Twoja aplikacja jest mniej bezpieczna i zabrania wysyłania wiadomości e-mail za pomocą ich serwera SMTP. Aby rozwiązać problem z Gmailem SMTP, przejdź do tematu allow access to less secure apps to send email.

 Polski