Neste tutorial fácil, aprenderemos como enviar Word Document por e-mail usando C#. No exemplo a seguir, você verá como é fácil enviar documento do Word no corpo do email usando C#. Você pode usar o exemplo em qualquer sistema operacional comumente disponível, como Linux, macOS ou Windows.
Etapas para enviar documento do Word por email usando C#
- Instale as bibliotecas Aspose.Words e Aspose.Email da ferramenta gerenciador de pacotes NuGet no Visual Studio.
- Inicialize o objeto de classe Document para carregar o documento para enviar como e-mail
- Salve o documento como fluxo em um formato MHTML intermediário
- Instancie a instância da classe MailMessage para carregar o MHTML como MailMessage e defina suas propriedades
- Instancie o cliente SMTP e envie o documento do Word como email usando C#
Nas etapas acima, carregaremos o documento do Word para enviar como email na primeira etapa. Em seguida, salvaremos o documento carregado em um stream no formato MHTML intermediário. Nas etapas subsequentes, carregaremos o MHTML usando a classe MailMessage e definiremos suas propriedades de correio. Por fim, uma instância da classe de cliente SMTP será instanciada para criar e-mail do DOCX em C#.
Código para enviar documento do Word por e-mail 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); | |
} | |
} | |
} |
No exemplo acima, temos enviar documento do Word no corpo do email usando C# adotando a abordagem de duas etapas. Na primeira etapa, carregamos e salvamos o DOCX como um arquivo MHTML de formato intermediário usando fluxos. Então, na segunda etapa, carregamos o MHTML no stream usando MailMessage. Finalmente, usando o cliente SMTP, enviamos Documento por email em C#.
Neste tópico simples, exploramos como criar e-mail do DOCX usando C#. No entanto, se você estiver procurando por conversão de arquivo DOCX para MD, consulte o artigo em como converter Word para Markdown usando C#.