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
- Enviando um documento do Word em um corpo de 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:
- Carregue o documento do Word usando a classe Aspose::Words::Document.
- Crie uma instância da classe MemoryStream.
- Salve o documento do Word no MemoryStream no formato MHTML.
- Crie uma instância da classe Aspose::Email::MailMessage usando o MHTML salvo no MemoryStream.
- Defina Para, De e Assunto do e-mail.
- Crie uma instância da classe Aspose::Email::Clients::Smtp::SmtpClient.
- Defina as opções de host, nome de usuário, senha, porta e segurança.
- Envie a mensagem de e-mail usando o SmtpClient->Send(System::SharedPtr mensagem) método.
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.