面向 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)
https://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。

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);
}
}
}
您可以在下图中看到输出:

以编程方式将 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
本文将使 C# 开发人员能够以编程方式将EML或MSG转换为其他流行的文件格式。Aspose.Email 提供了类和方法以及在线 电子邮件转换器工具,可将 EML无缝转换为PNG 。如果不安装第三方软件,则无法打开 EML/MSG 文件。因此,将 EML/MSG 转换为 PNG 和…...
Vue3:数据交互axios
回调函数 > 回调函数: 一些特殊的函数,表示未来才会执行的一些功能,后续代码不会等待该函数执行完毕就开始执行了 1. Promise 1.1 简介 > 前端中的异步编程技术,类似Java中的多线程线程结果回调! * Promise 是异步编程的一种解决方案,…...
芯片的性能指什么
【省带宽、压成本专题】降低30%视频码率,深挖“窄带高清”的实现原理 - 知乎 芯片(或微处理器、集成电路)的性能主要指其完成特定任务的能力和效率。性能可以通过多种参数来衡量,这些参数反映了芯片设计的不同方面,包…...
Java通过百度地图API获取定位-普通IP定位
项目中有一个登录邮箱提醒的功能,需要根据IP地址获取定位信息,从而更好地提示用户账号登录的所在地。为此,花费了一些时间来实现这个功能。 在CSDN搜索了一下,发现关于获取定位的文章说明都不够详细,于是决定自己创作一…...
5月13号作业
使用消息队列实现的2个终端之间的互相聊天 并使用信号控制消息队列的读取方式: 当键盘按ctrlc的时候,切换消息读取方式,一般情况为读取指定编号的消息,按ctrlc之后,指定的编号不读取,读取其他所有编号的消息…...
【计算机网络】Socket网络编程
💻文章目录 📄前言Socket编程基础概念工作原理 Socket API介绍socket函数绑定、监听函数accept、connect接受/发送函数 Socket API的应用Socket类与其派生类的设计服务器与客户端的设计使用 📓总结 📄前言 现今我们的日常生活当中…...
Ansible自动运维工具之playbook
目录 一.inventory主机清单 1.定义 2.变量 (1)主机变量 (2)组变量 (3)组嵌套 二.playbook基本内容 1.组成 (1)Tasks: 任务,即调用模块完成的某操作 ࿰…...
【启明智显技术分享】SSD201/SSD202D核心板UI界面开发全攻略:LVGL使用指南
提示:作为Espressif(乐鑫科技)大中华区合作伙伴及sigmastar(厦门星宸)VAD合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫及星宸…...
数据可视化(九):Pandas北京租房数据分析——房源特征绘图、箱线图、动态可视化等高级操作
Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记得…...
ADOP带你了解:跳线与交叉电缆有何不同?
如果您想将设备连接到互联网,您可能想知道要使用的正确电缆。跳线和交叉电缆都是类型的以太网电缆,可帮助连接计算机、调制解调器、路由器和交换机等设备。那么,跳线和交叉电缆有什么区别呢?让我们讨论这两种类型的电缆࿰…...
Django 和 Spring Boot
标题 Django (Python)Django提供的组件Django 的处理逻辑 Spring Boot (Java)Spring Boot 的特点Spring Boot 的处理逻辑 MVC设计模式模型(Model)视图(View)控制器(Controller)逻辑处理过程 Django 和 Spri…...
上位机图像处理和嵌入式模块部署(树莓派4b的替代品)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 实话实说,树莓派4b的产品力还是比较优秀的,价格还算适中。但是和国产卡片电脑比起来,则逊色不少。功能差不多的…...
Springboot整合 Spring Cloud Gateway
1.Gateway介绍 1.是spring cloud官方推出的响应式的API网关框架,旨在为微服务架构提供一种简单有效的API路由的管理方式,并基于Filter的方式提供网关的基本功能,例如:安全认证,监控,限流等等。 2.功能特征…...
Rust开发工具有哪些?
目录 一、JetBrains公司的RustRover编辑 二、微软公司的Visual Studio Code 三、Rust编译工具 一、JetBrains公司的RustRover RustRover是由JetBrains开发的一款专为Rust开发量身定制的新兴IDE,目前还处于早期访问阶段。它支持Rust、Cargo、TOML、Web和数据库等…...
20240514基于深度学习的弹性超材料色散关系预测与结构逆设计
论文:Dispersion relation prediction and structure inverse design of elastic metamaterials via deep learning DOI:https://doi.org/10.1016/j.mtphys.2022.100616 1、摘要 精心设计的超材料结构给予前所未有的性能,保证了各种各样的具…...
SAP:FI 财务凭证行项目文本前台修改
一、问题描述 财务凭证行项目文本点击修改,但是前台有的行可以修改,有的行是灰色的不能修改,如下图所示,这个文本信息有误,必须修改怎么办? 二、思路分析 有的行可以修改,有的行不能修改&#x…...
【linux系统学习教程 Day02】网络安全之Linux系统学习教程,管道,文件内容统计,过滤排序,去重,目录介绍
1-4 管道 管道符号: | ,可以将前面指令的执行结果,作为后面指令的操作内容。 ## 比如过滤ip地址 ip addr | tail -4 | head -1 解释一下就是先执行 ip addr ,得到的结果当做 tail -4 的输入,意思就是查看ip addr 结果的后四行内容…...
Spring Cloud LoadBalancer 4.1.2
LoadBalancer位于Spring Cloud Commons 模块 Spring Cloud 提供了自己的客户端负载均衡器抽象和实现。对于负载均衡机制,添加了 ReactiveLoadBalancer 接口,并为其提供了基于Round-Robin和Random的实现。为了让实例从反应式中进行选择,使用了…...
使用Xshell工具连接ubuntu-方便快捷
使用Xshell连接ubuntu 在命令行输入 “sudo apt-get install openssh-server”安装openssh-server 开启 ssh-server,在命令行输入 “service ssh start”,然后输入密码即可...
leetcode22 括号生成-组合型回溯
题目 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 输入:n 3 输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 解析 func generateParenthesis(n int) …...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
