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#
- Installa le librerie Aspose.Words e Aspose.Email dallo strumento di gestione dei pacchetti NuGet in Visual Studio.
- Inizializza l’oggetto classe Document per caricare il documento da inviare come email
- Salva il documento come flusso in un formato MHTML intermedio
- Crea un’istanza di classe MailMessage per caricare l’MHTML come MailMessage e impostarne le proprietà
- 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#.