Come inviare un documento di Word tramite e-mail utilizzando C#

In questo semplice tutorial impareremo come inviare Word Document tramite e-mail utilizzando C#. Nell’esempio seguente, vedrai quanto è facile inviare un documento Word nel corpo dell’e-mail usando C#. Puoi utilizzare l’esempio in qualsiasi sistema operativo comunemente disponibile come Linux, macOS o Windows.

Passaggi per inviare documenti Word tramite e-mail utilizzando C#

  1. Installa le librerie Aspose.Words e Aspose.Email dallo strumento di gestione dei pacchetti NuGet in Visual Studio.
  2. Inizializza l’oggetto classe Document per caricare il documento da inviare come email
  3. Salva il documento come flusso in un formato MHTML intermedio
  4. Crea un’istanza di classe MailMessage per caricare l’MHTML come MailMessage e impostarne le proprietà
  5. Crea un’istanza del client SMTP e invia il documento Word come e-mail utilizzando C#

Nei passaggi precedenti, caricheremo il documento Word per l’invio come e-mail nel primo passaggio. Quindi salveremo il documento caricato in uno stream in formato MHTML intermedio. Nei passaggi successivi, caricheremo l’MHTML utilizzando la classe MailMessage e imposteremo le sue proprietà di posta. Infine, verrà creata un’istanza della classe client SMTP per creare email da DOCX in C#.

Codice per inviare documenti Word tramite e-mail utilizzando 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);
}
}
}

Nell’esempio sopra, abbiamo invia un documento di Word nel corpo dell’e-mail usando C# adottando un approccio in due passaggi. Nella prima fase, abbiamo caricato e salvato il DOCX come file MHTML di formato intermedio utilizzando i flussi. Quindi, nel secondo passaggio, abbiamo caricato l’MHTML in stream utilizzando MailMessage. Infine, utilizzando il client SMTP, inviamo il documento via e-mail in C#.

In questo semplice argomento, abbiamo esplorato come creare e-mail da DOCX utilizzando C#. Tuttavia, se stai cercando la conversione di file DOCX in MD, fai riferimento all’articolo su come convertire Word in Markdown usando C#.

 Italiano