Cómo enviar un documento de Word por correo electrónico usando C#

En este sencillo tutorial, aprenderemos cómo enviar Word Document por correo electrónico usando C#. En el siguiente ejemplo, verá lo fácil que es enviar un documento de Word en el cuerpo del correo electrónico usando C#. Puede usar el ejemplo en cualquiera de los sistemas operativos comúnmente disponibles, como Linux, macOS o Windows.

Pasos para enviar un documento de Word por correo electrónico usando C#

  1. Instale las bibliotecas Aspose.Words y Aspose.Email desde la herramienta del administrador de paquetes NuGet en Visual Studio.
  2. Inicialice el objeto de clase Document para cargar el documento y enviarlo como correo electrónico
  3. Guarde el documento como secuencia en un formato MHTML intermedio
  4. Crea una instancia de la clase MailMessage para cargar el MHTML como MailMessage y establecer sus propiedades
  5. Cree una instancia del cliente SMTP y envíe el documento de Word como correo electrónico usando C#

En los pasos anteriores, cargaremos el documento de Word para enviarlo como correo electrónico en el primer paso. Luego, guardaremos el documento cargado en una secuencia en formato intermedio MHTML. En los pasos siguientes, cargaremos el MHTML utilizando MailMessage class y estableceremos sus propiedades de correo. Finalmente, se creará una instancia de la clase de cliente SMTP para crear correo electrónico desde DOCX en C#.

Código para enviar documento de Word por correo electrónico usando C#

using System;
using System.IO;
using Aspose.Email;
using Aspose.Email.Clients;
using Aspose.Email.Clients.Smtp;
using Aspose.Words;
namespace WordKB
{
class WordsEmail
{
static void Main(string[] args)
{
// Use Aspose.Words and Aspose.Email licenses to remove evaluation version limitations
Aspose.Words.License LicenseForWord = new Aspose.Words.License();
LicenseForWord.SetLicense("Aspose.Total.API.lic");
Aspose.Email.License LicenseForEmail = new Aspose.Email.License();
LicenseForEmail.SetLicense("Aspose.Total.API.lic");
// Load the document for sending as email using Document class
Document EmaiDocument = new Document("EmailDocument.docx");
// Convert the document to MHTML format by using memory stream
Stream EmailStream = new MemoryStream();
EmaiDocument.Save(EmailStream, SaveFormat.Mhtml);
// Now, reset the EmailStream position to the beginning
EmailStream.Position = 0;
// Create an Aspose.Email message from the saved stream
Aspose.Email.MailMessage EmailMessage =
Aspose.Email.MailMessage.Load(EmailStream, new MhtmlLoadOptions());
// Set properties of email to send
EmailMessage.From = "your_from_email@email.com";
EmailMessage.To = "your_to_email@email.com";
EmailMessage.Subject = "Test Message using Aspose. Words and Aspose.Email APIs";
// Initialize SMTP client and it's properties to send email
SmtpClient SMTPClient = new SmtpClient();
SMTPClient.Host = "smtp.gmail.com";
SMTPClient.Username = "YourEmail@gmail.com";
SMTPClient.Password = "Your Gamil Password";
SMTPClient.Port = 587;
SMTPClient.SecurityOptions = SecurityOptions.SSLExplicit;
// Send word email message
SMTPClient.Send(EmailMessage);
}
}
}

En el ejemplo anterior, hemos enviado un documento de Word en el cuerpo del correo electrónico usando C# adoptando un enfoque de dos pasos. En el primer paso, cargamos y guardamos el DOCX como un archivo MHTML de formato intermedio usando flujos. Luego, en el segundo paso, cargamos el MHTML en flujo usando MailMessage. Finalmente, al usar el cliente SMTP, enviamos el documento por correo electrónico en C#.

En este sencillo tema, hemos explorado cómo crear correo electrónico desde DOCX usando C#. Sin embargo, si está buscando la conversión de un archivo DOCX a MD, consulte el artículo sobre cómo convertir Word a Markdown usando C#.

 Español