Cách gửi tài liệu Word qua email bằng C#

Trong hướng dẫn đơn giản này, chúng ta sẽ tìm hiểu cách gửi Word Document qua email bằng C#. Trong ví dụ sau, bạn sẽ thấy việc gửi Tài liệu Word trong nội dung email bằng C# dễ dàng như thế nào. Bạn có thể sử dụng ví dụ này trong bất kỳ hệ điều hành phổ biến nào như Linux, macOS hoặc Windows.

Các bước để gửi tài liệu Word qua email bằng C#

  1. Cài đặt các thư viện Aspose.WordsAspose.Email từ công cụ quản lý gói NuGet trong Visual Studio.
  2. Khởi tạo đối tượng lớp Document để tải tài liệu để gửi dưới dạng email
  3. Lưu tài liệu dưới dạng luồng sang định dạng MHTML trung gian
  4. Khởi tạo phiên bản lớp MailMessage để tải MHTML dưới dạng MailMessage và đặt các thuộc tính của nó
  5. Khởi tạo ứng dụng khách SMTP và gửi tài liệu Word dưới dạng email bằng C#

Trong các bước trên, chúng tôi sẽ tải tài liệu Word để gửi dưới dạng email trong bước đầu tiên. Sau đó, chúng tôi sẽ lưu tài liệu đã tải vào luồng ở định dạng trung gian MHTML. Trong các bước tiếp theo, chúng tôi sẽ tải MHTML bằng cách sử dụng MailMessage class và đặt các thuộc tính thư của nó. Cuối cùng, một phiên bản của lớp máy khách SMTP sẽ được khởi tạo để tạo email từ DOCX trong C#.

Mã để gửi tài liệu Word qua email bằng 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);
}
}
}

Trong ví dụ trên, chúng tôi đã gửi Tài liệu Word trong nội dung email bằng C# bằng cách áp dụng phương pháp tiếp cận hai bước. Ở bước đầu tiên, chúng tôi đã tải và lưu DOCX dưới dạng tệp MHTML định dạng trung gian bằng các luồng. Sau đó, trong bước thứ hai, chúng tôi đã tải MHTML trong luồng bằng cách sử dụng MailMessage. Cuối cùng, bằng cách sử dụng SMTP client, chúng tôi gửi Tài liệu qua email bằng C#.

Trong chủ đề đơn giản này, chúng ta đã khám phá cách tạo email từ DOCX bằng C#. Tuy nhiên, nếu bạn đang tìm cách chuyển đổi tệp DOCX sang tệp MD, hãy tham khảo bài viết trên cách chuyển Word sang Markdown bằng C#.

 Tiếng Việt