Email 如何使用';格式=流动的';使用NotMore消息客户端?

Email 如何使用';格式=流动的';使用NotMore消息客户端?,email,emacs,Email,Emacs,我使用最新的NotMore emacs客户端撰写和阅读我的电子邮件。(它们通过msmtp发送,并通过mbsync拉取) 我想将所有新创建的邮件格式化为format=flow。我在互联网上找到的这个问题的所有答案都是关于Gnus的 如果可以在不显示太多消息的情况下激活此功能,或者如何通过elisp添加此功能,您有什么想法吗?以下方法有效: (require 'messages-are-flowing) (add-hook 'message-mode-hook #'messages-are-fl

我使用最新的NotMore emacs客户端撰写和阅读我的电子邮件。(它们通过
msmtp
发送,并通过
mbsync
拉取)

我想将所有新创建的邮件格式化为
format=flow
。我在互联网上找到的这个问题的所有答案都是关于Gnus的

如果可以在不显示太多消息的情况下激活此功能,或者如何通过elisp添加此功能,您有什么想法吗?

以下方法有效:

 (require 'messages-are-flowing)
 (add-hook 'message-mode-hook #'messages-are-flowing-use-and-mark-hard-newlines)

无需使用Gnus发送邮件。

我编写了一些定制的elisp来实现这一点:

(defun as-format-as-flowed-text ()
  "Format the buffer as flowed text according to RFC 2646.
This ensures that appropriate lines should be terminated with a
single space, and that \"> \" quoting prefixes are replaced with
\">\".  Operates on the current region if active, otherwise on
the whole buffer."
  (interactive)
  (let ((start (if (use-region-p) (region-beginning) (point-min)))
        (end (if (use-region-p) (region-end) (point-max))))
    (save-excursion
      (goto-char start)
      ;; Ensure appropriate lines end with a space
      (while (re-search-forward "^\\(>+ ?\\)?\\S-.*\\S-$" end t)
        (replace-match "\\& " t))

      ;; Replace "> " quoting prefixes with ">"
      (goto-char start)
      (let ((eol)
            (eolm (make-marker)))
        (while (setq eol (re-search-forward "^>.*" end t))
          (set-marker eolm eol)
          (goto-char (match-beginning 0))
          (while (looking-at ">")
            (if (looking-at "> ")
                (replace-match ">")
              (forward-char)))
          (goto-char (marker-position eolm)))))))

(bind-key "M-s M-m" 'as-format-as-flowed-text)
(你可以找到。我很确定它可以写得更优雅;建议甚至请求都非常受欢迎。)

写了几分钟后,我发现gnus内部对
format=flow
有一定的本地支持。不幸的是,在撰写本文时,该功能似乎不能立即在GNU外部重用


我刚刚创建了一个中心门户,以便尝试在一个地方收集有关此主题的信息。

Notmouse使用消息模式进行撰写,在顶部分层自己的Notmouse消息模式,并使用消息模式进行发送。这方面的GNU或mm信息可能是相关的。例如,谢谢你的提示,但是emacswiki页面对我没有任何帮助。它似乎只讨论了如何显示
format=flowed
消息,并假设它们已经以正确的方式发送。这里有一个关于显示和编写流消息的部分。如果您认为我的问题的解决方案就在这一页上,为什么不在这里展示呢?查看代码,我发现变量只与gnus有关(
gnus文章模式钩子
gnus处理填充长行
),更糟糕的是,有这样的句子:“处理
format=flowed
的最简单方法是避免它。”这意味着什么?另请参见其中的问题,即如何通过增强
填充段落来实现这一点。您是否在gnus之外尝试过这一点?我使用了消息模式,但我用msmtp(而不是Gnus)发送邮件。我猜使用消息模式相当于“在Gnus内部使用它”?我不确定-
消息模式
是在
Gnus/message.el
中定义的,因此它在技术上是Gnus的一部分,但我不确定为什么单独使用它会激活
Gnus/flow fill.el
中的功能。事实上,甚至有人说“仅仅在‘消息模式’(如文档所示)中启用‘使用硬换行符’不足以组成一条流式消息,而且很可能(截至2011年1月)会终止消息中的所有格式设置。”但很可能这已经过时了——如果您能够验证这一点,如果你能相应地更新维基页面,那就太好了!你能给我一个提示我怎样才能核实它吗?例如,查看发送的原始邮件?当然,发送的原始邮件应该有一个带有
内容类型的文本MIME部分,包括
format=flowed
,可回流的行应该以尾随空格结尾(表示软换行符),并且不应该以空格开头,也不应该在任何
引用前缀字符之间或之后有空格。