在电子邮件中发送word文档c#

电子邮件正文的呈现方式是吸引读者的重要因素之一。因此,电子邮件可以使用标题、副标题、表格、图像等很好地格式化。但是,大多数内置的电子邮件编辑器不提供高级格式化选项。为了解决这个限制,本文介绍了如何在 C# 中使用 Word 文档作为电子邮件正文来撰写电子邮件。

将 Word 文档导入电子邮件的 C# API

为了从 Word 文档中导入内容,我们将使用 Aspose.Words for .NET API。然而,为了撰写和发送电子邮件,我们将利用 Aspose.Email for .NET 的功能。上述两个 API 都可以作为 DLL 下载或通过 NuGet 安装。

下载 DLL

通过 NuGet 安装

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

使用 C# 在电子邮件正文中发送 Word 文档

  1. 使用 Aspose.Words.Document 类加载 Word 文档,并将其作为 MHTML 保存到 MemoryStream 对象中。
// 从磁盘加载 Word 文档
Document wordDocument = new Document("Word.docx");

// 将文档作为 MHTML 保存到内存流中
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
  1. 将MHTML 从MemoryStream 对象加载到Aspose.Email.MailMessage 对象并设置主题、收件人和收件人字段。
// 将位置设置为 0
mhtmlStream.Position = 0;

// 从 MHTML 创建电子邮件
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());

// 设置电子邮件字段
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
  1. 使用 Aspose.Email.Clients.Smtp.SmtpClient 类设置 SMTP 客户端并发送电子邮件。
// 通过 SMTP 发送电子邮件
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;                
client.Send(message);

源代码

以下是使用 C# 将 MS Word 文档作为电子邮件正文导入的完整源代码。

// 从磁盘加载 Word 文档
Document wordDocument = new Document("Word.docx");

// 将文档作为 MHTML 保存到内存流中
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);

// 将位置设置为 0
mhtmlStream.Position = 0;

// 从 MHTML 创建电子邮件
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());

// 设置电子邮件字段
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";

// 通过 SMTP 发送电子邮件
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;                
client.Send(message);

获取免费 API 许可证

您可以免费试用该 API,不受评估限制。 获取免费的临时许可证 现在。

结论

在本文中,您学习了如何使用 C# 将 Word 文档作为电子邮件正文导入。此外,代码示例还展示了如何使用 SMTP 客户端发送编写的电子邮件消息。您可以通过访问以下文档来了解有关本文中使用的 API 的更多信息。

也可以看看