Gửi tài liệu từ trong email c #

Cách trình bày nội dung email là một trong những yếu tố quan trọng để thu hút người đọc. Do đó, email được định dạng tốt bằng cách sử dụng các tiêu đề, tiêu đề phụ, bảng, hình ảnh, v.v. Tuy nhiên, hầu hết các trình soạn thảo email tích hợp không cung cấp các tùy chọn định dạng nâng cao. Để giải quyết hạn chế này, bài viết này trình bày cách soạn email của bạn bằng cách sử dụng tài liệu Word làm nội dung email trong C#.

API C# để nhập tài liệu Word sang email

Để nhập nội dung từ tài liệu Word, chúng tôi sẽ sử dụng API Aspose.Words for .NET. Trong khi đó, để soạn và gửi email, chúng tôi sẽ tận dụng các khả năng của Aspose.Email for .NET. Cả hai API nói trên đều có thể được tải xuống dưới dạng DLL hoặc được cài đặt thông qua NuGet.

Tải xuống các tệp DLL

Cài đặt qua NuGet

PM> Install-Package Aspose.Words
PM> Install-Package Aspose.Email

Gửi Tài liệu Word trong Nội dung Email bằng C#

  1. Tải tài liệu Word bằng lớp Aspose.Words.Document và lưu dưới dạng MHTML vào đối tượng MemoryStream.
// Tải tài liệu Word từ đĩa
Document wordDocument = new Document("Word.docx");

// Lưu tài liệu dưới dạng MHTML vào luồng bộ nhớ
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
  1. Tải MHTML từ đối tượng MemoryStream sang đối tượng Aspose.Email.MailMessage và đặt chủ đề, đến và từ các trường của email.
// Đặt vị trí thành 0
mhtmlStream.Position = 0;

// Tạo tin nhắn email từ MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());

// Đặt các trường email
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
  1. Thiết lập ứng dụng khách SMTP bằng lớp Aspose.Email.Clients.Smtp.SmtpClient và gửi email.
// Gửi email qua SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;                
client.Send(message);

Mã nguồn

Sau đây là mã nguồn hoàn chỉnh của việc nhập tài liệu MS Word làm nội dung email bằng C#.

// Tải tài liệu Word từ đĩa
Document wordDocument = new Document("Word.docx");

// Lưu tài liệu dưới dạng MHTML vào luồng bộ nhớ
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);

// Đặt vị trí thành 0
mhtmlStream.Position = 0;

// Tạo email từ MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());

// Đặt các trường email
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";

// Gửi email qua SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;                
client.Send(message);

Nhận giấy phép API miễn phí

Bạn có thể dùng thử miễn phí API mà không có giới hạn đánh giá. Nhận giấy phép tạm thời miễn phí ngay bây giờ.

Sự kết luận

Trong bài viết này, bạn đã học cách nhập tài liệu Word dưới dạng nội dung email bằng C#. Hơn nữa, mẫu mã đã chỉ ra cách gửi email đã soạn bằng ứng dụng SMTP. Bạn có thể khám phá thêm về các API đang được sử dụng trong bài viết bằng cách truy cập các tài liệu sau.

Xem thêm