Как да изпратите Word документ по имейл с помощта на C++

В този пример ще разгледаме как да изпратите Word Document по имейл с помощта на C++. В следващия примерен код ще видите колко удобно е да изпращате DOC в тялото на имейл с помощта на C++. Просто ще трябва да направите прости извиквания на API и да изпълните няколко прости стъпки в MS Windows, за да постигнете това.

Стъпки за изпращане на Word документ по имейл чрез C++

  1. Конфигурирайте Aspose.Words.Cpp и Aspose.Email.Cpp с помощта на инструмента NuGet Package Manager
  2. Добавете препратката към пространствата от имена Aspose::Words и Aspose::Email
  3. Създайте екземпляр на обекта Document Class в DOCX за изпращане в тялото на имейла
  4. Запазете DOCX в междинен формат MHTML с помощта на поток
  5. Заредете MHTML с помощта на MailMessage Class екземпляр на Aspose.Email и задайте свойства на съобщението
  6. Инициализирайте екземпляра на класа SmtpClient, за да изпратите MailMessage като имейл

В тези стъпки забелязахме как да създаваме имейл от DOCX с помощта на C++. Това включва зареждане на DOC файла за изпращане като имейл в първата стъпка и запазване като междинен MHTML формат с помощта на поток. След това, използвайки екземпляр MailMessage class, междинният формат MHTML се зарежда заедно с настройката на други свойства на пощата. И накрая, чрез използване на SMTP клиентски клас имейлът се изпраща.

Код за изпращане на Word документ по имейл с помощта на C++

#pragma once
#include <cstdint>
#include <iostream>
#include <Aspose.Words.Cpp/Document.h>
#include <Aspose.Words.Cpp/SaveFormat.h>
#include <Aspose.Words.Cpp/Saving/SaveOutputParameters.h>
#include <Aspose.Words.Cpp/License.h>
#include <system/exceptions.h>
#include <Clients/SecurityOptions.h>
#include <Clients/Smtp/SmtpClient/SmtpClient.h>
#include <Licensing/License.h>
#include <MsgLoadOptions.h>
#include <EmlLoadOptions.h>
#include <MhtmlLoadOptions.h>
#include <MailMessage.h>
#include <system/shared_ptr.h>
#include <system/object.h>
#include <system/io/file.h>
#include <system/io/memory_stream.h>
#include <system/io/file_stream.h>
using namespace Aspose::Email;
using System::MakeObject;
using System::SharedPtr;
using System::String;
using namespace Aspose::Words;
using namespace System;
using namespace System::IO;
void DocumentToEmail()
{
// Setting the API license for Aspose.Words for C++
System::String TotalLicFilePath = u"Aspose.Total.CPP.lic";
SharedPtr<Aspose::Words::License> WordsCPPLicense = System::MakeObject<Aspose::Words::License>();
WordsCPPLicense->SetLicense(TotalLicFilePath);
// Set the license for Aspose.Email for C++
SharedPtr<Aspose::Email::License> EmailLicense = System::MakeObject<Aspose::Email::License>();
EmailLicense->SetLicense(TotalLicFilePath);
SharedPtr<Document> DocumentEmail = MakeObject<Document>( u"EmailDocument.docx");
// Save into a memory stream in MHTML format.
SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::MemoryStream>();
DocumentEmail->Save(stream, SaveFormat::Mhtml);
// Reset the stream position to start so that Aspose.Email can read it.
stream->set_Position(0);
// Create an Aspose.Email message from the saved stream
SharedPtr<MailMessage > EmailMessage = MakeObject<Aspose::Email::MailMessage>();
// Load the file in MHTML format
EmailMessage = MailMessage::Load(stream, System::MakeObject<MhtmlLoadOptions>());
EmailMessage->set_From(u"your_from_email@email.com");
EmailMessage->set_To(u"your_to_email@email.com");
EmailMessage->set_Subject(u"Test Message using Aspose. Words and Aspose.Email APIs");
// Initialize SMTP client and it's properties to send email
SharedPtr<Aspose::Email::Clients::Smtp::SmtpClient> EmailSmtpClient = MakeObject<Aspose::Email::Clients::Smtp::SmtpClient>();
EmailSmtpClient->set_Host(u"smtp.gmail.com");
EmailSmtpClient->set_Username(u"YourEmail@gmail.com");
EmailSmtpClient->set_Password(u"Your Gamil Password");
EmailSmtpClient->set_Port(587);
EmailSmtpClient->set_SecurityOptions(Aspose::Email::Clients::SecurityOptions::SSLExplicit);
// Send word email message
EmailSmtpClient->Forward(u"Sender@domain.com", u"Recipient@domain.com", EmailMessage);
}

В горния пример изпращаме документ по имейл, използвайки C++ в две фази. Първата фаза се състоеше от зареждане на DOCX и запазване като MHTML файл с помощта на потоци. Във втората фаза използвахме MailMessage class, за да заредим MHTML и да зададем другите му свойства на пощата. След това, използвайки SmtpClient клас, ние изпращаме документа по имейл с помощта на C++.

В тази тема се съсредоточихме върху това как да създадем имейл от DOCX в C++. Ако се интересувате от преобразуване на DOCX в Tiff файл, можете да посетите статията на как да конвертирате Word в Tiff с помощта на C++.

 Български