我有几个与mu4e相关的帐户,我可以接收和发送 - 使用smtpmail-multi - 来自所有这些帐户没有问题。我没有使用上下文。我配置中的相关部分如下所示:
(setq message-citation-line-function 'message-insert-formatted-citation-line)
(setq message-citation-line-format "On %a, %b %d %Y, %f wrote:\n")
(setq smtpmail-multi-accounts
(quote
((yahoo . ("xxxx@yahoo.com"
"smtp.mail.yahoo.com"
587
"xxxxx@yahoo.com"
nil nil nil nil))
(other . ("xxxxx@other.com"
"smtp.other.com"
465
"xxxx@other.com"
ssl nil nil nil))
(etc . ("xx@etc.com"
"smtp.etc.com"
465
"xx@etc.com"
ssl nil nil nil))
;; ...
)))
(setq smtpmail-multi-associations
(quote
(("xxxx@yahoo.com" yahoo)
("xxx@other.com" other)
("xx@etc.com" etc)
;; ....
)))
(setq smtpmail-multi-default-account (quote yahoo))
(setq message-send-mail-function 'smtpmail-multi-send-it)
(setq mu4e-compose-dont-reply-to-self t)
(setq mu4e-user-mail-address-list '("xxxx@yahoo.com"
"xxx@other.com"
"xx@etc.com"
;; ...
))
(setq user-full-name "XXXXXX")
(setq user-mail-address "xxx@other.com")
通过在FROM:
字段中输入电子邮件地址,我可以正确地从正确的帐户发送电子邮件。
在回复时,我希望mu4e识别邮件已发送到的帐户并相应地更新FROM:
字段,这样我就不必一直输入正确的帐户。我正在寻找一种方法来做到这一点,而无需将我的整个配置升级到使用上下文。
答案 0 :(得分:2)
经过大量调整后我想出了这个:
(defun my-mu4e-set-account ()
"Set the account for composing a message."
(if mu4e-compose-parent-message
(let ((mail (cdr (car (mu4e-message-field mu4e-compose-parent-message :to)))))
(if (member mail mu4e-user-mail-address-list)
(setq user-mail-address mail)
(setq user-mail-address "my@default.account")))
(helm :sources
`((name . "Select account: ")
(candidates . mu4e-user-mail-address-list)
(action . (lambda (candidate) (setq user-mail-address candidate)))))))
(add-hook 'mu4e-compose-pre-hook 'my-mu4e-set-account)
其中mu4e-user-mail-address-list
显然是一个包含我的邮件帐户的列表
这将使用正确的帐户进行回复,并且会打开一个头盔迷你菜单,询问我每次撰写新邮件时使用哪个帐户。
答案 1 :(得分:0)
我知道这个blog post有一个多帐户设置,可以自动获取FROM字段。可能想看看它。 Mu4e在我的待办事项清单上,所以我无法给你一个直接答案。