Emacs 和多个 SMTP 服务器

Emacs 和多个 SMTP 服务器

曾经有一堆使用 Gnus 的多个 SMTP 服务器的黑客技术,其中大部分都需要根据当前组添加特殊邮件头,然后使用自定义发送邮件功能解析出该信息。

自 Emacs 24 以来,大多数可用的解决方法都失效了,而 sendmail 现在更易于使用和通过单个服务器进行设置。

使用 Gnus 拥有多个 SMTP 服务器并使用属于我当前在 Emacs 24 中读取的组的最佳方法是什么?

答案1

我在用着邮件传输协议gnus-posting-styles在 Emacs 24.1.1 上设置并成功完成。

(defun cg-feed-msmtp ()
  (if (message-mail-p)
      (save-excursion
    (let* ((from
        (save-restriction
          (message-narrow-to-headers)
          (message-fetch-field "from")))
           (account
        (cond
         ;; I use email address as account label in ~/.msmtprc
         ((string-match "[email protected]" from) "example1")
         ;; Add more string-match lines for your email accounts
         ((string-match "[email protected]" from) "example2"))))
      (setq message-sendmail-extra-arguments (list '"-a" account))))))

(setq message-sendmail-envelope-from 'header)
(add-hook 'message-send-mail-hook 'cg-feed-msmtp)


(setq gnus-posting-styles
      '(("nnimap\\+EXAMPLE2:INBOX"
     (address "[email protected]"))))

相关内容