Usando um Documento Microsoft Word como Corpo da Mensagem e Enviando Email

Este artigo mostra como usar um documento Microsoft Word como corpo do email e enviá‑lo aos destinatários. O documento de exemplo é uma fatura de vendas do banco de dados de exemplo Northwind, exportada para o formato Microsoft Word. O Aspose.Email para .NET lida com protocolos de rede e recursos do Microsoft Outlook e não pode manipular documentos Microsoft Word. Para contornar isso, os exemplos neste artigo usam Aspose.Words para .NET para carregar o documento Word e convertê‑lo para o formato MHTML. O Aspose.Email para .NET usa o documento MHTML no corpo do email.

Usando Documentos Microsoft Word como Corpo de Email

Os exemplos de programação abaixo ilustram como enviar um documento Word como corpo de email usando Aspose.Words para .NET e Aspose.Email para .NET:

  1. Carregar um documento Microsoft Word usando o Aspose.Word para .NET Documento classe.
  2. Salve-o no formato MHTML.
  3. Carregar o documento MHTML usando o Aspose.Email para .NET MailMessage classe para definir o corpo do email.
  4. Defina outras propriedades da mensagem usando diferentes MailMessage propriedades e métodos da classe.
  5. Enviar o email usando o Aspose.Email para .NET SMTPClient classe.

O documento fonte, uma fatura de venda exportada para Microsoft Word a partir do exemplo Microsoft Northwind, pode ser visto abaixo.

todo:image_alt_text

Quando a mensagem foi enviada e recebida no Microsoft Outlook, ela se parece com a mensagem abaixo.

todo:image_alt_text

A formatação HTML e as imagens são preservadas como no documento original ao ser visualizado no Outlook ou em um cliente de email web como Gmail ou Hotmail. Abaixo está uma captura de tela da mensagem ao ser aberta com o Gmail em um navegador Chrome.

todo:image_alt_text

O trecho de código a seguir mostra como usar um documento Microsoft Word como corpo da mensagem e enviar um email usando SmtpClient instância de classe.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET

// Load a Word document from disk and save it to stream as MHTML
Document wordDocument = new Document(folderPath + "invoice.docx");
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);

// Load the MHTML in a MailMessage object
mhtmlStream.Position = 0;
using (MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions()))
{
    message.Subject = "Sending Invoice by Email";
    message.From = "sender@gmail.com";
    message.To = "recipient@gmail.com";

    // Save the message in MSG format to disk
    message.Save(folderPath + "WordDocAsEmailBody_out.msg", SaveOptions.DefaultMsgUnicode);

    // Send the email message
    using (SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "password"))
    {
        client.SecurityOptions = SecurityOptions.SSLExplicit;
        client.Send(message);
    }
}