電子郵件正文的呈現是吸引讀者的重要因素之一。因此,電子郵件可以使用標題、副標題、表格、圖像等進行良好格式化。但是,大多數內置電子郵件編輯器不提供高級格式設置選項。為了解決這個限制,本文介紹瞭如何在 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 文檔
- 使用 Aspose.Words.Document 類加載 Word 文檔並將其作為 MHTML 保存到 MemoryStream 對像中。
// 從磁盤加載 Word 文檔
Document wordDocument = new Document("Word.docx");
// 將文檔作為 MHTML 保存到內存流中
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
- 將 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";
- 使用 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 的更多信息。