某些邮件客户端允许发件人将图像直接放在他们的电子邮件正文中(而不是作为传统附件)。当我在我的应用程序中收到其中一封电子邮件时,我需要能够仅text/plain
查看邮件正文并确定发件人嵌入了内嵌图像。
我正在尝试制作一个正则表达式来在text/plain
邮件正文中查找图像占位符,以便我可以将它们交换为<img>
我自己启用 HTML 的邮件版本中的标签。(古怪,我知道,但这是要求)。
我发现的问题是占位符因发送邮件客户端而异。例如,当从 MS Outlook 发送时,text/plain
多部分消息的正文如下所示:
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Check out this image:
[cid:image001.jpg@01CB50D4.769583B0]
Isn't it cool??
从 Gmail 发送的类似消息略有不同:
Content-Type: text/plain; charset=ISO-8859-1
Check out this image:
[image: image001.jpg]
Isn't it cool??
下面是带有 base64 编码图像的text/html
主体和部分。image/jpeg
之前有没有人对此进行过任何研究并专门为此目的编制了一个列表或构建了一个 RegEx?
我意识到实现我的目标的一种更可靠的方法是查看text/html
消息的一部分——从我所做的少数测试来看,这似乎更加标准化——但不幸的是,我无法在这种情况。
我正在使用 C#,如果这对任何人都很重要。
这是迄今为止我编译的文本/纯图像占位符列表:
- 邮箱:
[image: filename.jpg]
- 展望 2007:
[cid:filename.jpg@01CB50D4.769583B0]
- 雷鸟 3.0.7:
none