HTML
JPG
PDF
XML
EML
EML
使用 C# 大批量生成 EML 格式报告
批量生成 EML 电子邮件,无需 Outlook 或 Thunderbird。
如何使用 C# 生成基于 EML 的报告
为了创建 EML 报告,我们将使用
功能丰富、强大且易于使用的 C# 平台报告生成 API。打开
在包管理器中搜索 Aspose.Email 并安装。您也可以使用以下命令在包管理器控制台中执行。
Package Manager 控制台命令
PM> Install-Package Aspose.Email
使用 C# 组装 EML 的步骤
- 从 MailMessage 创建模板
- 为 Subject、To、From 和 HtmlBody 字段添加动态字段
- 使用 MailMessage 对象创建 TemplateEngine
- 创建数据源并映射到模板字段
- 使用 TemplateEngine.Instantiate 方法批量创建消息
- 以 EML 格式保存消息
系统要求
Aspose.Email for .NET 在所有主流操作系统上均受支持。只需确保您具备以下前提条件。
- Microsoft Windows 或兼容的操作系统,支持 .NET Framework、.NET Core 和 Xamarin 平台
- 开发环境,如 Microsoft Visual Studio
- Aspose.Email for .NET 在您的项目中引用
EML 消息报告生成的 C# 示例代码
// create a template from MailMessage
MailMessage template = new MailMessage();
// add template field to subject
template.Subject = "Hello, #FirstName#";
template.From = new MailAddress("This email address is being protected from spambots. You need JavaScript enabled to view it.", "This email address is being protected from spambots. You need JavaScript enabled to view it.");
// add template field to receipt
template.To.Add(new MailAddress("#Receipt#", true));
// add template field to html body
template.HtmlBody = "Dear #FirstName# #LastName# Sent Date: #Date#";
// create a new TemplateEngine with the template message.
var engine = new Email.Tools.Merging.TemplateEngine(template);
// fill a DataTable
var dt = new System.Data.DataTable();
dt.Columns.Add("Receipt", typeof(string));
dt.Columns.Add("First Name", typeof(string));
dt.Columns.Add("Last Name", typeof(string));
dt.Columns.Add("Date", typeof(DateTime));
System.Data.DataRow dr;
dr = dt.NewRow();
dr["Receipt"] = "This email address is being protected from spambots. You need JavaScript enabled to view it.";
dr["First Name"] = "Nancy";
dr["Last Name:"] = "Davolio";
dr["Date"] = System.DateTime.Now;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Receipt"] = "This email address is being protected from spambots. You need JavaScript enabled to view it.";
dr["First Name"] = "Andrew";
dr["Last Name"] = "Fuller";
dr["Date"] = System.DateTime.Now;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Receipt"] = "This email address is being protected from spambots. You need JavaScript enabled to view it.";
dr["First Name"] = "Janet";
dr["Last Name"] = "Leverling";
dr["Date"] = System.DateTime.Now;
dt.Rows.Add(dr);
// map columns
var mappings = new System.Data.Common.DataColumnMappingCollection();
mappings.Add(new System.Data.Common.DataColumnMapping("Receipt", "Receipt"));
mappings.Add(new System.Data.Common.DataColumnMapping("First Name", "FirstName"));
mappings.Add(new System.Data.Common.DataColumnMapping("Last Name", "LastName"));
mappings.Add(new System.Data.Common.DataColumnMapping("Date", "Date"));
Aspose.Email.MailMessageCollection messages;
// create messages from engine
messages = engine.Instantiate(dt, mappings);
for (int i = 0; i < messages.Count; i++)
{
// save messages in EML format
messages[i].Save(i + ".eml");
}
关于 Aspose.Email for .NET API
Aspose.Email 是一个用于解析 Microsoft Outlook 和 Thunderbird 格式的解决方案。您可以轻松创建、操作、转换诸如 MSG、EMLX、EML 和 MHT 等电子邮件及存储格式。处理电子邮件附件、定制消息头以及实现 POP3、IMAP 和 SMTP 等网络协议以收发邮件变得更加容易。它是一个独立的 API,无需安装 Microsoft Outlook 或其他软件。EML What is EML File Format
EML 文件格式表示使用 Outlook 和其他相关应用程序保存的电子邮件。几乎所有邮件客户端都支持此文件格式,因为它符合 RFC-822 互联网消息格式标准。Microsoft Outlook 是打开 EML 消息类型的默认软件。EML 文件既可用于保存到磁盘,也可通过通信协议发送给收件人。
Read More