Enviar documento do Word no corpo do email usando C++

Os e-mails são a principal fonte de comunicação na Internet e, na maioria dos casos, o layout e a formatação do e-mail são importantes. No entanto, a maioria dos clientes de e-mail não oferece as opções de formatação aprimoradas necessárias para criar conteúdo de e-mail de alta qualidade. Nesses casos, um documento Word bem formatado pode ser usado como corpo do e-mail. Neste artigo, você aprenderá como enviar um documento do Word como o corpo do email usando C++.

APIs C++ para enviar documentos do Word no corpo do email

Para enviar um documento do Word em um corpo de e-mail, usaremos as APIs Aspose.Words for C++ e Aspose.Email for C++. O primeiro permite gerar, modificar e converter arquivos do Microsoft Word. Enquanto o último permite criar, manipular e converter arquivos do Outlook. Usaremos Aspose.Words for C++ API para converter o documento do Word para o formato MHTML e Aspose.Email for C++ API para gerar e enviar o e-mail. Você pode instalar as APIs por meio do NuGet ou baixá-las diretamente da seção Downloads.

PM> Install-Package Aspose.Words.Cpp
PM> Install-Package Aspose.Email.Cpp

Enviando um documento do Word em um corpo de email usando C++

A seguir estão as etapas para enviar um documento do Word em um corpo de email:

O código de exemplo a seguir mostra como enviar um documento do Word como o corpo de um email usando C++.

// Caminhos de diretório.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Carregue o documento do Word usando a classe Documento Aspose.Words.
System::SharedPtr<Aspose::Words::Document> doc = System::MakeObject<Aspose::Words::Document>(sourceDataDir + u"Sample 1.docx");

// Salve o documento no MemoryStream no formato MHTML.
System::SharedPtr<System::IO::MemoryStream> stream = System::MakeObject<System::IO::MemoryStream>();
doc->Save(stream, SaveFormat::Mhtml);

// Rebobine o fluxo para o início para que o Aspose.Email possa lê-lo.
stream->set_Position(0);

// Crie uma instância da classe MailMessage
System::SharedPtr<Aspose::Email::MailMessage> message = MailMessage::Load(stream, System::MakeObject<Aspose::Email::MhtmlLoadOptions>());

// Definir a partir do endereço de e-mail
message->set_From(u"your_from@email.com");

// Definir como endereço de e-mail
message->set_To(u"your_to@email.com");

// Definir assunto do e-mail
message->set_Subject(u"Aspose.Words + Aspose.Email MHTML Test Message");

// Crie uma instância da classe SmtpClient
System::SharedPtr<Aspose::Email::Clients::Smtp::SmtpClient> client = System::MakeObject<Aspose::Email::Clients::Smtp::SmtpClient>();

// Defina o Host, por exemplo: smtp.gmail.com
client->set_Host(u"your_smtp.com");

// Defina o endereço de e-mail
client->set_Username(u"your_email@email.com");

// Defina a senha
client->set_Password(u"your_password");

// Defina a porta
client->set_Port(587);

// Defina as opções de segurança
client->set_SecurityOptions(SecurityOptions::SSLExplicit);

// Envie a mensagem de e-mail
client->Send(message);

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como enviar um documento do Word em um corpo de email usando C++. Para resumir, você aprendeu como converter um documento do Word para o formato MHTML usando a API Aspose.Words para C++ e como enviar MHTML como um email usando a API Aspose.Email para C++. Ambas as APIs fornecem vários recursos para trabalhar com MS Word e arquivos de e-mail. Você pode explorar essas APIs em detalhes visitando sua documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também