У цьому легкому посібнику ми навчимося надсилати 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 і налаштуємо його властивості пошти. Нарешті, екземпляр клієнтського класу 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#.