.NET 如何从电子邮件中提取嵌入的图像?

2023-12-11

您好,我正在开发 .NET 1.1 中的一个项目,我需要从我收到的电子邮件中提取(并将其保存在某处)嵌入图像。

有人可以告诉我从哪里开始吗?

谢谢


从 POP 服务器下载的电子邮件将是文本格式,您必须解析整个电子邮件,并找到所有<img />标签具有src属性设置为cid:*

E.g.

<img src='cid:006901c6d391$dee64770$6c822ecf@Z2LC74Q' />

包含嵌入图像的电子邮件的格式如下 -

From: foo1atbar.net 
To: foo2atbar.net 
Subject: A simple example 
Mime-Version: 1.0 
Content-Type: multipart/related; boundary="boundary-example"; type="text/html" 

--boundary-example 
Content-Type: text/html; charset="US-ASCII" 

... text of the HTML document, which might contain a URI 
referencing a resource in another body part, for example 
through a statement such as: 
<IMG SRC="cid:foo4atfoo1atbar.net" ALT="IETF logo"> 
...snip...
Content-Location: CID:somethingatelse ;this header is disregarded 
Content-ID: <006901c6d391$dee64770$6c822ecf@Z2LC74Q>
Content-Type: IMAGE/GIF 
Content-Transfer-Encoding: BASE64 

R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNv 
cHlyaWdodCAoQykgMTk5LiBVbmF1dGhvcml6ZWQgZHV 
wbGljYXRpb24gcHJvaGliaXRlZC4A etc... 

...snip...

如果您查看页脚,它包含图像的 BASE64 编码版本。您可以提取BASE64字符串,根据电子邮件字符集将其转换为字节,并将其保存到文件中(您可以根据Content-Type获取文件扩展名)。田田,完成!

希望您知道如何去做!

EDIT

我也发现了类似的问题here。他正在使用 CDO(协作数据对象)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET 如何从电子邮件中提取嵌入的图像? 的相关文章

  • 发送python电子邮件时添加excel文件附件

    使用 python 发送电子邮件时如何添加文档附件 我收到要发送的电子邮件 请忽略 我正在循环发送电子邮件以每 5 秒发送一次 仅用于测试目的 我希望它每 30 分钟发送一次 只需将 5 更改为 1800 到目前为止 这是我的代码 如何附加
  • 命名空间“System.Runtime”中不存在类型或命名空间名称“Caching”

    我知道通常有一个简单的解决方案 即在添加引用中引用 dll 但我已经添加了引用 并且 system runtime caching 出现在我的引用列表中 但错误仍然显示 该错误在运行时显示在浏览器中 因此可以编译 我已删除并重新添加了引用
  • .NET Framework 中的语言互操作性(基本概念)是什么?

    我正在阅读 NET框架 https en wikipedia org wiki NET Framework维基百科的文章 第一段描述了这个框架的一般概念 它说 它包括一个大型库 并提供跨多种编程语言的语言互操作性 每种语言可以使用用其他语言
  • 使用AOP技术拦截ADO.Net

    我有相当大的代码库 使用各种不同的 ADO 技术 即一些 EF 在某些情况下直接使用 ADO Net 我想知道是否有任何方法可以全局拦截任何 ADO Net 调用 以便我可以开始审核信息 例如执行的确切 SQL 语句 花费的时间 返回的结果
  • 是否曾经建议使用 ECB 密码模式?

    判断从这篇关于密码模式的维基百科文章 http en wikipedia org wiki Block cipher modes of operation以及我听说过的有关 ECB 的其他事情 这是一个很大的禁忌 并且可能会泄露有关您的加密
  • 添加到 .NET 任务栏中的右键单击应用程序菜单

    大多数应用程序只有 恢复 移动 调整大小 最小化 最大化和关闭 但是MS SQL提供了额外的选项 帮助 自定义视图 按照这些思路 是否可以添加到任务栏中应用程序的右键单击菜单 注 我是not指通知区域中时钟旁边的图标 这是一个更简单的ans
  • PHP - 发送带有附件的电子邮件不显示消息内容

    尝试创建一个脚本 我可以在其中发送带有附件的电子邮件 一切正常 除了当我不在电子邮件中添加文件时 我仍然可以看到带有 0B 且没有名称的附件 if isset POST my send email to POST my email to r
  • 多选DataGridView没有CTRL键没有闪烁?

    我在表单 Form1 vb 上有一个 DataGridView 控件 需要允许用户在不使用 CTRL 键的情况下多选行 没有可用的键盘 他们使用触摸屏 我已启用 mutliselect 属性 并在 Form 类中包含以下代码 我的 Data
  • .NET 或 Windows 同步原语性能规范

    我目前正在写一篇科学文章 我需要非常准确地引用 有人可以向我指出 MSDN MSDN 文章 一些已发表的文章来源或一本书 我可以在其中找到 Windows 或 NET 同步原语的性能比较 我知道这些是按性能降序排列的 互锁 API 关键部分
  • 如何使用 .NET 捕获我的桌面视频?

    我想知道是否有任何方法可以使用 NET 捕获我的桌面的视频 截屏视频 我并不是在寻找截屏软件 而只是在寻找一种可以让我自己生成桌面视频的技术 我想过拍摄多个屏幕截图 但我不确定如何以编程方式生成带有图像序列的视频 有人有主意吗 Thanks
  • LINQ to Entities 无法识别“Int32 IndexOf(System.String, System.StringComparison)”方法

    我已经使用 Entityframework 执行了 linq 查询 如下所示 GroupMaster getGroup null getGroup DataContext Groups FirstOrDefault item gt keyw
  • 该进程无法访问该文件,因为该文件正在被另一个进程使用

    当我从 bat 文件启动 net 控制台应用程序时 例如start myapp exe 然后 myapp exe 尝试将文件写入其当前目录 尽管我收到 net 运行时错误 声称该文件正在被另一个应用程序使用 没有其他应用程序在运行 http
  • 使用 TCP 时是否需要使用校验和来保护我的消息?

    使用 TCP 作为网络协议 在通过线路发送消息之前 我会为每条消息的大小 以及可能的校验和 添加前缀 我想知道 计算和传输消息的校验和是否有意义 以确保消息将被不变地传递 如果以及何时传递 例如因为一些网络错误 目前 我在发送消息本身之前发
  • 有没有办法让 ValidationSummary 与客户端验证器一起使用?

    NET ValidationSummary 控件聚合来自回发时触发的验证器的错误消息 有没有某种方法可以让它也显示来自客户端验证器的错误消息 我正在解决的问题是 在长页面上 可能会单击提交按钮 导致某些客户端验证器失败 但永远不会看到错误消
  • .Net 6 控制台应用程序:WebApplication.CreateBuilder 与 Host.CreateDefaultBuilder

    我正在研究 NET 6 并希望构建一个简单的控制台应用程序 并进行一些依赖项注入 据我所知 为了使启动 现在只是程序 文件更具可读性 已经做了很多工作 让我有点困惑的是 所有改进似乎都是针对 API 项目中使用的 WebApplicatio
  • 在Python3.6中调用C#代码

    由于完全不了解 C 编码 我希望在我的 python 代码中调用 C 函数 我知道有很多关于同一问题的问答 但由于一些奇怪的原因 我无法从示例 python 模块导入简单的 c 类库 以下是我所做的事情 C 类库设置 我使用的是 VS 20
  • 如何在WebBrowser控件中注入Javascript?

    我试过这个 string newScript textBox1 Text HtmlElement head browserCtrl Document GetElementsByTagName head 0 HtmlElement scrip
  • 使用 java 按电子邮件发送日历邀请

    我正在尝试使用 java 发送每封电子邮件的日历邀请 收件人收到电子邮件 但不会显示接受或拒绝的邀请 而是将该事件自动添加到他的日历中 我正在使用 ical4j jar 构建活动 邀请 private Calendar getInvite
  • 如何移动图像(动画)?

    我正在尝试在 x 轴上移动船 还没有键盘 我如何将运动 动画与boat png而不是任何其他图像 public class Mama extends Applet implements Runnable int width height i
  • 图像创建从jpeg() PHP

    我正在使用 imagecreatefromjpeg 函数合并两张图片 现在我面临的问题是 当我使用服务器中的图片时 它工作正常 而当我使用其他网站的图片时 它不起作用 例如 当我使用这个 PHP 文件时http coolfbapps in

随机推荐

  • 将注释的标题设置为当前地址

    我想获取当前位置的地址并将其设置为注释的标题 但这没有用 我认为这是因为阻塞 但我不知道如何解决它 任何帮助将不胜感激 最相关的代码如下 WhereAmIAnnotation h import
  • 将脚本插入 iFrame 的标头,而不清除 iFrame 的主体

    我希望将脚本添加到 iFrame 的标头 同时不丢失 iFrame 正文或标头中包含的所有内容 这是我现在所拥有的 它确实使用新脚本更新了 iFrame 但它会清除 iframe 中的所有内容 而不是附加我想要的内容 谢谢 乙 Find t
  • Espresso:为什么选择后旋转器不关闭?

    我有一个关于在 Spinners with Espresso 中选择项目的问题 或者更准确地说 选择有效 但之后视图断言失败 因为微调器仍然打开 假设我有一个非常简单的活动 其中包含一个微调器和一个显示选择的文本视图 如下所示 现在 我编写
  • 创建带有导航栏和后退按钮的模态视图

    我想创建一个带有导航项的模式视图 屏幕截图中的右侧视图 并且我希望它有一个 后退按钮 我的应用程序是 TabBar 应用程序 我不希望此视图有选项卡栏 但我想使用类似于 push 类型的 segue 加载上一个视图 屏幕截图中的左侧视图 我
  • 如何从自定义列表在 Room 中创建 TypeConverter?

    我做了一个 TypeConverter 但出现错误 无法为类创建转换器 models lastanime EpisodesEntityfor 方法 EpisodesApi getEpisodes 我无法完全理解如何制作 TypeConver
  • Python文件权限中的Zipfile

    i used zipfilelib 从 zip 中提取文件 现在解压目录后我发现我的文件的权限已损坏 import zipfile fh open sample zip rb z zipfile ZipFile fh print z nam
  • 如何更改 Grails 中的 joda--time 默认日期时间格式

    我正在使用 Grails 2 0 3 groovy 1 8 6 和 joda time 1 3 1 和 joda time templates 插件 一切都很完美 但我想更改日期和时间的显示格式 我怎样才能做到这一点 每个域都是支架式的 因
  • 如何在 iOS >= 4.2.1 Mobile Safari 中自动播放媒体?

    除了用户执行的单击事件的处理程序之外 我似乎无法在 iOS 4 2 1 上的 Mobile Safari 中播放音频媒体 即便如此 如果player play 以任何异步方式调用 ajax setTimeout等 它不起作用 我试过打电话p
  • 使用 Visual Studio 2015 Update 3 创建的 UWP 应用程序包无法安装在手机上

    使用 Visual Studio 2015 Update 3 创建的发布模式 appxbundle 文件无法安装在 Windows Phone 上 这在更新 2 中有效 在手机上安装了现场医疗兵 最终发现了错误 Windows cannot
  • Python 元组列表,需要解包和清理

    假设您有一个列表 例如 x Edgar Robert 获取字符串的最有效方法是什么 Edgar and Robert 例如 并不真正想要 x 0 0 简单的解决方案 并且在大多数情况下是最快的 item 0 for item in x or
  • 一个主键与另一个主键相关可以吗?

    这是我的 ERD 的一部分 Orders 表中的 OrderID 与 Order Details 表中的 OrderID ProductID 主键相关 我不认为主键可以与其他主键关联 但我不确定如何关联这些表 让它们既是主键又是外键 您似乎
  • 与 oracle 通信时应用程序崩溃,除非可执行路径包含空格

    我们的 NET 应用程序存在 x 文件问题 或者更确切地说 混合 Win32 和 NET 应用程序 当它尝试与 Oracle 通信时 它就死掉了 消失了 前往天空中那片巨大的黑色虚空之中 没有事件日志消息 没有异常 什么也没有 如果我们只是
  • TO_DATE函数时区解析错误

    我在尝试解析 Oracle 中的日期时遇到问题 TO DATE Fri May 16 14 30 57 EDT 2014 DY MON DD HH24 MI SS TZD YYYY Error ORA 01821 无法识别日期格式 时区出了
  • Fortran 中的自动类型转换(类型转换)如何工作?

    我正在使用 gfortran 编译器 还请告诉我 gfortran 在执行自动类型转换 类型转换 时是否使用 Fortran 标准以外的其他内容 赋值由 Fortran 2008 第 7 2 节定义 值得注意的是 Cl 7 2 1 3 第
  • 通过 CMake 添加外部库(例如 Eigen)

    我已经处理这个问题几个星期了 我知道我可能只是错过了一个我没有意识到的小步骤 因此 任何见解都将受到高度赞赏 我正在尝试添加一些外部库并在我的 C 项目中使用它们 但似乎无法弄清楚如何 我阅读了互联网上有关添加外部库的所有帖子 但我相信我错
  • Three.js:使用变形目标获取更新的顶点

    我有一些变形目标正在工作 https jsfiddle net 3wtwzuh3 2 使用滑块控件查看变形 但是 我希望能够访问变形后顶点的新位置 如果您在链接的示例中注意到 我正在显示立方体第一个顶点的 y 坐标 但它没有更新 This
  • ORA-01422: PL/SQL 精确获取返回的行数多于请求的行数

    我不断收到此错误 我无法弄清楚出了什么问题 DECLARE 第 1 行错误 ORA 01422 精确提取返回的行数多于请求的行数ORA 06512 在第 11 行 这是我的代码 DECLARE rec ENAME EMPLOYEE ENAM
  • 以编程方式控制折线图中的符号等

    我有一个 JavaFX 应用程序 我希望用户能够控制折线图中的符号 线条样式等 我不想创建多个样式表 而是想将此功能构建到 Java 代码中 感谢 Jewelsea 之前发布的优秀示例 我可以动态更改线条样式 这太棒了 但我无法更改默认符号
  • 此正则表达式 (RegEx) 标志有何含义 /iD

    我想使用这个正则表达式来验证 IPv6 但我想了解它所做的一切https stackoverflow com a 1934546 3112803 gt gt a f0 9 1 4 gt 1 7 a f0 9 gt 8 1 gt 1 0 6
  • .NET 如何从电子邮件中提取嵌入的图像?

    您好 我正在开发 NET 1 1 中的一个项目 我需要从我收到的电子邮件中提取 并将其保存在某处 嵌入图像 有人可以告诉我从哪里开始吗 谢谢 从 POP 服务器下载的电子邮件将是文本格式 您必须解析整个电子邮件 并找到所有 img 标签具有