面向 C# 开发人员的电子邮件转换控件 - EML 到 PNG

2024-05-14 16:28

本文主要是介绍面向 C# 开发人员的电子邮件转换控件 - EML 到 PNG,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文将使 C# 开发人员能够以编程方式将EML或MSG转换为其他流行的文件格式。Aspose.Email 提供了类和方法以及在线 电子邮件转换器工具,可将 EML无缝转换为PNG 。如果不安装第三方软件,则无法打开 EML/MSG 文件。因此,将 EML/MSG 转换为 PNG 和JPG等图像文件格式将允许您轻松查看这些文件。因此,在本指南中,我们将通过一段代码片段来使用C#构建电子邮件转换软件。在继续之前,请确保您有源EML和MSG文件来实现该功能。

Aspose.Email 是用于轻松的开发 email 功能的应用程序的一组控件,基于  ASP.NET 的Web应用、Web服务和Windows 应用。支持 Outlook PST, EML, MSG, and MHT 格式. 允许开发者直接与 SMTP, POP, FTP, 和 MS Exchange 服务器进行工作。支持邮件合并、行事历、定制邮件标题和内容、嵌入文件等,Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.Email 最新下载(qun:666790229)icon-default.png?t=N7T8https://www.evget.com/product/3081/download

电子邮件 API 集成和安装

要安装此企业级 .NET 库,请在NuGet包管理器中运行以下命令或在此处下载 DLL 文件。

Install-Package Aspose.Email

除了Aspose.Email for .NET之外,您还需要安装Aspose.Words for .NET API。

Install-Package Aspose.Words

Aspose.Email for .NET为开发人员提供了完整的安装指南。此外,安装需要几秒钟,您就可以开始使用 API 将EML 转换为 PNG 或 MSG 转换为 PNG

电子邮件 API 集成

C# 中的 EML 到 PNG 转换

现在,我们可以编写一个代码示例,以编程方式用 C# 构建电子邮件转换器工具。

以下步骤展示了如何构建电子邮件转换软件以将 EML 转换为 PNG

  • 创建EmlLoadOptions类的对象,该对象将用于从 EML 格式加载 MailMessage。
  • 设置RemoveSignature属性的值以指示加载时是否删除签名。
  • 调用MailMessage类的Load方法来加载源 EML 文件。
  • 设置消息的敏感度。
  • 设置消息的优先级。
  • 实例化MemoryStream类的实例。
  • 将 EML 转换为 MHTML 并通过调用Save方法保存到流。
  • 调用Position属性并设置流中的当前位置。
  • 使用 MHTML 流初始化Document类的实例。
  • 通过调用Save方法将文档保存为 PNG 图像。

以下代码片段在 C# 中将 EML 转换为 PNG

using Aspose.Email;
using Aspose.Words;namespace Aspose.Email
{
class EMLtoPNG
{
// Email conversion software for C# Developers - EML to PNG
static void Main(string[] args)
{string dataDir = "/sample-files/";
// Create an object of the EmlLoadOptions class that will be used to load MailMessage from EML format.
EmlLoadOptions emlLoadOptions = new EmlLoadOptions();
// Set a value of RemoveSignature property to indicate whether signature will be removed while loading.
emlLoadOptions.RemoveSignature = false;
// Invoke the Load method of the MailMessage class to load the source eml file.
MailMessage msg = MailMessage.Load(dataDir + "sample.eml", emlLoadOptions);
// Set the Sensitivity of the message.
msg.Sensitivity = MailSensitivity.Normal;
// Set the Priority of the message.
msg.Priority = MailPriority.High;
// Instantiate an instance of the MemoryStream class.
MemoryStream msgStream = new MemoryStream();
// Convert EML to MHTML and save to stream by calling the Save method.
msg.Save(msgStream, SaveOptions.DefaultMhtml);
// Invoke the Position property and set the current position within the stream.
msgStream.Position = 0;
// Initialize an instance of the Document class with the MHTML stream.
Document msgDocument = new Document(msgStream);
// Save the document as PNG image by calling the Save method.
msgDocument.Save(dataDir + "Outlook-Aspose_out.png", SaveFormat.Png);
}
}
}

您可以在下图中看到输出:

eml 转 png

以编程方式将 MSG 转换为 PNG

同样,您可以通过在上面的代码片段中进行以下更改来将MSG 转换为 PNG :

  • 创建MsgLoadOptions类的对象并将其作为参数传递到MailMessage类的Load方法中以加载源 MSG 文件。

以下代码示例演示了如何在.NET中将MSG转换为PNG:

using Aspose.Email;
using Aspose.Words;namespace Aspose.Email
{
class MSGtoPNG
{
// Email conversion software for C# Developers - MSG to PNG
static void Main(string[] args)
{string dataDir = "/sample-files/";
// Create an object of the MsgLoadOptions class that will be used to load MailMessage from MSG format.
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
// Set a value of RemoveSignature property to indicate whether signature will be removed while loading.
msgLoadOptions.RemoveSignature = false;
// Invoke the Load method of the MailMessage class to load the source MSG file.
MailMessage msg = MailMessage.Load(dataDir + "sample.msg", msgLoadOptions);
// Set the Sensitivity of the message.
msg.Sensitivity = MailSensitivity.Normal;
// Set the Priority of the message.
msg.Priority = MailPriority.High;
// Instantiate an instance of the MemoryStream class.
MemoryStream msgStream = new MemoryStream();
// Convert MSG to MHTML and save to stream by calling the Save method.
msg.Save(msgStream, SaveOptions.DefaultMhtml);
// Invoke the Position property and set the current position within the stream.
msgStream.Position = 0;
// Initialize an instance of the Document class with the MHTML stream.
Document msgDocument = new Document(msgStream);
// Save the document as PNG image by calling the Save method.
msgDocument.Save(dataDir + "Outlook-Aspose_out.png", SaveFormat.Png);
}
}
}

免费电子邮件转换器 - 现场演示

我们学习了如何为 C# 开发人员开发电子邮件转换软件。这里有一个在线工具,可以在线将 EML 转换为 PNG。它由Aspose.Email提供支持。此外,此电子邮件转换器工具是基于网络的,并具有用户友好的界面,您也可以在手机上使用此电子邮件转换器。最重要的是,它是免费的,您在使用它之前不需要进行任何订阅。

免费电子邮件转换器

结论

我们在此结束这篇博文,希望本文对您有所帮助。我们已经了解了如何使用Aspose.Email for .NET在 C# 中构建电子邮件转换软件。此外,我们探索了一个在线电子邮件转换器工具,可以在线将 EML 转换为 PNG。

这篇关于面向 C# 开发人员的电子邮件转换控件 - EML 到 PNG的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989249

相关文章

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

C# dateTimePicker 显示年月日,时分秒

dateTimePicker默认只显示日期,如果需要显示年月日,时分秒,只需要以下两步: 1.dateTimePicker1.Format = DateTimePickerFormat.Time 2.dateTimePicker1.CustomFormat = yyyy-MM-dd HH:mm:ss Tips:  a. dateTimePicker1.ShowUpDown = t

C#关闭指定时间段的Excel进程的方法

private DateTime beforeTime;            //Excel启动之前时间          private DateTime afterTime;               //Excel启动之后时间          //举例          beforeTime = DateTime.Now;          Excel.Applicat

C# 防止按钮botton重复“点击”的方法

在使用C#的按钮控件的时候,经常我们想如果出现了多次点击的时候只让其在执行的时候只响应一次。这个时候很多人可能会想到使用Enable=false, 但是实际情况是还是会被多次触发,因为C#采用的是消息队列机制,这个时候我们只需要在Enable = true 之前加一句 Application.DoEvents();就能达到防止重复点击的问题。 private void btnGenerateSh

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

恶意PNG:隐藏在图片中的“恶魔”

<img src="https://i-blog.csdnimg.cn/blog_migrate/bffb187dc3546c6c5c6b8aa18b34b962.jpeg" title="214201hhuuhubsuyuukbfy_meitu_1_meitu_2.jpg"/></strong></span><