![在电子邮件中使用 text/markdown](https://linux22.com/image/1571365/%E5%9C%A8%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E4%B8%AD%E4%BD%BF%E7%94%A8%20text%2Fmarkdown.png)
Content-Type: text/markdown; charset=UTF-8;
如果我开始按照 RFC发送单部分电子邮件,收件人是否会遇到任何问题7763和7764?我相信它应该可以安全地恢复到默认设置text/plain
。
电子邮件客户端可以通过多种方式支持 Markdown/Commonmark 或相关语言.我说的是传播以及由此产生的展示这里。
输入
- 将用户使用键盘输入的星号、下划线等转换为 HTML 标签(或理论上任何其他富文本格式),并使用
text/plain
和将电子邮件作为多部分消息发送text/html
。 - 与上文类似,但也提供 GUI 按钮或键盘快捷键(例如
foo
+ CtrlI⇒_foo_
)来帮助输入这些格式。这基本上是一个富文本编辑器,可以生成比目前大多数编辑器更好的纯文本回退。
这两者都可以使用无、内联、并排或提交前的渲染文本预览。
这就是插件的作用Markdown在这里可以做到,并且一些(网络)邮件客户端本身支持,例如航空邮件,邮件伙伴,邮件弹簧,格梅利乌斯,赛普特. 一些时事通讯、管理、票或者自己发送电子邮件的商店系统也可以通过这种方式处理 markdown 输入。
传播
- 发送单部分消息而
text/markdown
不是标准消息text/plain
,依靠优雅地回退到后者。这就是我要问的! text/markdown
使用而不是 来发送多部分消息text/html
,基本上复制text/plain
消息正文。- 发送生成的多部分消息
text/html
,而text/markdown
不是通常的text/plain
基本版本。
Content-Type: text/plain; format=flowed; markup=markdown
展示
- 将收到的具有相应
text/markdown
标题设置为纯文本的单部分邮件显示出来,就像 一样text/plain
。这是预期的优雅回退。 - 将收到的具有使用类型或参数
Content-Type
设置的标题的单部分或多部分邮件显示为删除了格式字符的富文本。text/markdown
markup=markdown
- 显示收到的单部分邮件,这些邮件通过一些启发式方法来确定它们是根据 Markdown 或其他语言编写的低密度脂蛋白约定为富文本,格式字符可能会被保留。
许多客户端,例如 Apple Mail,支持单个 Markdown 功能的富文本渲染:在行>
首带有(可能嵌套)的块引用。
答案1
Markdown 已经以各种方式和风格实现了 Markdown。维基百科列出了 Standard、CommonMark、GFM 和 Markdown Extra,但即使是同一标准的每种实现也可能对同一 Markdown 文本产生不同的结果(例子)。
尽管有新的 RFC,但电子邮件并没有官方的标准类型,但text/markdown
似乎是最常见的事实上的类型。大多数浏览器和其他相当复杂的客户端可能会看到该text/
部分并默认使用
text/plain
,因此与电子邮件相比没有太大区别。
如果你看一下 Markdown 实现列表,你会发现其中甚至没有包含一个电子邮件客户端或服务器。
有些网站会将你的 markdown 转换为 HTML 并为你发送电子邮件,例如商业格梅利乌斯,而且 PHP 也有一些 markdown 模块,但是转换器可能是你最期待的。
根据@grawity的评论,在他测试的电子邮件客户端中,只有Thunderbird将其作为原始数据传递以进行显示。其他客户端只是将Markdown放在附件中。这意味着只有Thunderbird关注text/
Content-Type中的部分,而其他客户端只处理整个MIME规范,而这对他们来说是未知的,因为他们不了解Markdown。
就目前情况而言,我并不认为使用 Markdown 是个好主意,因为 Markdown 整合的浪潮尚未波及电子邮件客户端,而且可能永远不会波及。无论如何,根据w3.org
上面的链接,没有电子邮件客户端可以正确处理它,所以真的没有意义。
答案2
如果邮件必须是单部分,那么它就不能回退到 text/plain,因为只有 markdown 部分。您将完全依赖收件人邮件客户端的 markdown 支持。对于包含 text/markdown 和 text/plain 的多部分消息,我猜它可能会起作用。你真的试过这个吗?
我不确定目前邮件客户端对 Markdown 的支持情况如何,但我直觉认为它还没有被广泛接受。除了这个相当旧的页面,我真的什么也找不到。
我刚刚尝试在 Outlook 中打开此消息(保存为文件.eml
);它显示为带有文本附件的空消息:
From: John Doe <[email protected]>
MIME-Version: 1.0
Content-Type: text/markdown
# this is the body text