В този лесен урок ще научим как да изпращаме Word Document по имейл с помощта на C#. В следващия пример ще видите колко лесно е да изпратите документ на Word в тялото на имейл с помощта на C#. Можете да използвате примера във всяка от общодостъпните операционни системи като Linux, macOS или Windows.
Стъпки за изпращане на Word документ по имейл с помощта на C#
- Инсталирайте библиотеки Aspose.Words и Aspose.Email от инструмента за управление на пакети NuGet във Visual Studio.
- Инициализирайте обект от клас Document, за да заредите документа за изпращане като имейл
- Запазете документа като поток в междинен MHTML формат
- Създайте екземпляр на клас MailMessage, за да заредите MHTML като MailMessage и да зададете неговите свойства
- Създайте екземпляр на SMTP клиент и изпратете документа на Word като имейл с помощта на C#
В горните стъпки ще заредим документа на Word за изпращане като имейл в първата стъпка. След това ще запазим заредения документ в поток в междинен формат MHTML. В следващите стъпки ще заредим MHTML с помощта на MailMessage class и ще зададем свойствата му за поща. И накрая, екземпляр на клиентски клас SMTP ще бъде инстанциран за създаване на имейл от DOCX в C#.
Код за изпращане на Word документ по имейл с помощта на 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); | |
} | |
} | |
} |
В горния пример имаме изпращане на документ на Word в тялото на имейла, използвайки C#, като използваме подход от две стъпки. В първата стъпка заредихме и запазихме DOCX като междинен формат MHTML файл, използвайки потоци. След това във втората стъпка сме заредили MHTML в поток с помощта на MailMessage. И накрая, използвайки SMTP клиент, ние изпращаме документ по имейл в C#.
В тази проста тема проучихме как да създадем имейл от DOCX с помощта на C#. Ако обаче търсите конвертиране на DOCX в MD файл, вижте статията на как да конвертирате Word в Markdown с помощта на C#.