我正在尝试准备 RMAIL 和 Emacs 以支持多个电子邮件帐户。我已经有了一个基于电子邮件的 From 字段(基于 EmacsWiki 中的信息)使用不同 SMTP 服务器的解决方案,但我目前必须设置 From em> 手动字段。
我想要的是在回复RMAIL中的某人时自动设置发件人字段(即回复发送给 [email protected] 的电子邮件时,设置>从撰写消息缓冲区中的到 [email protected] )。我使用消息包作为 mail-user-agent
。 Gnus 有一个类似的功能,称为 gnus-posting-styles
.
我真正需要的是如下所示:
按
r
时或M-x rmail-reply
在 RMAIL 摘要上,查找 [email protected] 或 [email protected] 在字段To
,Cc
,Envelope-To
,X-Origintal-To
或Delivered-To
回复的消息并将找到的第一个消息存储在某个变量中;已在消息缓冲区中撰写电子邮件,自动将“发件人”字段设置为之前存储的值。
有办法执行1吗?
谢谢!
最佳答案
是的,有一种方法可以做到这一点。
您需要建议函数rmail-reply
。
这是一个例子:
(defadvice rmail-reply (around rmail-grab-to-field) "Grab the To field and put in the reply as 'From'." (let ((origin-to (mail-fetch-field "to"))) (progn ad-do-it) (save-excursion (goto-char (point-min)) (perform-replace "^From: \\(.*\\)$" (concat "From: " origin-to) nil t nil 1 nil (point-min) (point-max))))) (ad-activate 'rmail-reply)
您可以找到有关 advice 的所有信息在 EmacsLisp 手册中。
上述建议并不完全通用,它在一定程度上取决于您用于发送邮件的模式(我使用消息模式,并且上述代码有效)。
更好的版本还会限制perform-replace
的范围,以便它只能更改邮件 header 中的某些内容。
关于email - 使用带有 EMAIL 和 Message 包的 Emacs 的多个电子邮件帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14989309/