使用 mutt 发送 multipart/alternative

tre*_*mby 13 email mutt mime-headers

我希望某些电子邮件和/或收件人可以选择在发送之前运行脚本(无论是自动还是通过按键绑定),它需要我的text/plain,在其上运行脚本,然后附加该脚本的输出text/html类型,将整个消息设置为multipart/alternative

旁白:如果这在发送前立即自动发生可能会很好,但前提是当前将正文类型设置为text/markdown,因为这意味着待处理的电子邮件永远不会处于我再次编​​辑源但忘记重新生成 HTML 的状态,我仍然可以选择只发送text/plain. 然后我有另一个绑定来将正文的内容类型设置为text/markdown,以便将其选中。但是后来我也遇到了许多邮件客户端(包括 Gmail)拒绝呈现text/markdown(即使是纯文本)的问题,而是将其作为下载提供,所以我需要将源部分的内容类型切换回来到text/plain

mutt 能做到吗?

可悲的是,据我所知,mutt 不支持发送multipart/alternative消息,拒绝发送任何消息multipart/mixed,但我很想被证明我错了。

我能想出的最佳解决方案是这个宏:

macro compose M "<filter-entry>commonmark<return>y<edit-type><kill-line>text/html<return>" "convert message to HTML with Commonmark"
Run Code Online (Sandbox Code Playgroud)

这有几个问题:

  • 它完全取代了原始的纯文本,因此编辑起来要困难得多
  • 我不喜欢y宏中有对对话框说是的,询问是否可以覆盖文件
  • 运行后我必须按回车
  • 当然最重要的是:它不发送纯文本替代

有更好的解决方案吗?

我可能对另一个文本模式邮件客户端开放,只要它

  • 可与 Google Apps 一起使用,并在两个方向同步标志等
  • 支持GPG
  • 有类似 vim 的绑定,或者我可以配置它们
  • 让我使用 vim 作为消息编辑器
  • 有一个线程消息视图
  • 允许我以某种复杂的方式过滤/搜索邮件(发件人、收件人、附件的存在、主题和正文文本搜索)
  • 处理附件类型有点像 mutt,即 mailcap 或等价物,因此我可以通过 lynx 运行传入的 HTML 邮件,或者在需要时按某些东西在图形浏览器中打开它,我可以按按钮启动图像查看器,等等

小智 1

我忘了 NeoMutt 支持多部分。 https://neomutt.org/guide/mimesupport