使用 mutt 发送用 Markdown 编写的电子邮件

Dil*_*war 23 scripting mutt

有时我需要在 google-group 内联发送一段代码。文字在这里没有帮助;我可以在 Markdown 中输入它,将其转换为 html(使用 pandoc 等),附加到 mutt astext/html并发送它。

这里有一个很好的解决方案但它使用外部sendmail程序发送电子邮件。我正在使用 mutt,它可以单独通过 IMAP发送电子邮件。

bah*_*mat 36

在您撰写消息之后,但在发送之前,您有很多可用的选项。按?查看它们。

一些可能在这里有帮助的:

  • F 通过外部处理器过滤附件
    • 使用pandoc -s -f markdown -t html转换为HTML
  • ^T 编辑附件 MIME 类型
    • 从 更改text/plaintext/html

现在是一个宏,可以一步完成所有事情。将此添加到您的.muttrc

macro compose \e5 "F pandoc -s -f markdown -t html \ny^T^Utext/html; charset=utf-8\n"
set wait_key=no
Run Code Online (Sandbox Code Playgroud)

要使用此宏,请在撰写完邮件后但在发送之前按Escthen5将 Markdown 格式的邮件转换为 HTML。

您可以根据需要自然地自定义此宏。Mutt 已经内置了许多键绑定,因此无论您选择绑定到哪个键序列,请确保它不会覆盖其他内容(或者您可以没有它)。


该选项在运行外部命令时set wait_key=no禁止 Mutt 的Press any key to continue...提示。如果wait_keyyes(这是默认设置),您必须按Esc,然后5,然后按任何其他键才能继续。

  • 这很好,但它有核心缺陷。它消除了电子邮件的纯文本部分,这使得在客户端(例如…… mutt )中阅读起来很糟糕;) HTML 电子邮件应该有一个纯文本和 html 组件。原始降价应该是纯文本,转换后应该是 HTML。 (7认同)
  • 最后,我为此 http://nosubstance.me/post/mutt-secret-sauce/ 构建了自己的设置 (2认同)

Jak*_*dra 5

您还可以将电子邮件发送为multipart/alternative包含text/plain和 的电子邮件text/html

要求:潘多克

基本上它是从 Markdown 消息纯文本和 html5 创建的。从这些部分创建附件,将它们标记为内联附件,设置正确的 mime 类型并将它们组合成多部分消息。

在撰写菜单中运行此宏后,应该添加任何其他附件。(可选)签名/加密消息应作为最后一步完成

macro compose ,m \
"<enter-command>set pipe_decode<enter>\
<pipe-message>pandoc -f gfm -t plain -o /tmp/msg.txt<enter>\
<pipe-message>pandoc -s -f gfm -t html5 -o /tmp/msg.html<enter>\
<enter-command>unset pipe_decode<enter>a^U/tmp/msg.txt\n^Da^U/tmp/msg.html\n^D^T^Utext/html; charset=utf-8\n=DTT&d^U\n" \
"Convert markdown gfm to HTML and plain" 
Run Code Online (Sandbox Code Playgroud)