의를 사용하여 여러 개의 Gmail 계정을 설정하려고합니다 mu4e-context
. 하나를 제외한 많은 기능이 작동합니다. 컨텍스트간에 전환하고 각 계정에서 메일을 업데이트하고 (offlineaima를 사용하여) 메일을 보낼 수 있습니다.
문제는 .authinfo
파일에 여러 줄 이 있고 동일한 호스트 이름을 가지고 있다는 mu4e
것입니다. 사용자 이름으로 구별 할 수 있다고 가정했지만 , 그렇지 않은 것 같습니다. 내가 어떤 컨텍스트에 있든 상관없이 메일은 항상 파일 에서 처음 구성된 계정에서 전송 .authinfo
됩니다.
각 컨텍스트에서 Gmail SMTP 서버에 로그인하기 위해 별도의 자격 증명을 사용하는 방법을 모르겠습니다.
나는 호스트 이름 별명을 설정하려고 시도 personal.gmail.com
하고 work.gmail.com
둘 다에 smtp.gmail.com
별도의 시스템 이름을 부여 할 수 있도록 해결 authinfo
했지만 OSX에서이를 달성하는 방법을 알지 못 하거나이 문제를 해결할 수있는 합리적인 방법인지 확실하지 않습니다. (이상적으로는 Emacs 외부의 구성으로 원숭이를 돌릴 필요가 없습니다).
내 authinfo는 다음과 같습니다
machine smtp.gmail.com login personal@example.com port 587 password fakepassword
machine smtp.gmail.com login work@example.com port 587 password fakepassword
내 mu4e-config의 관련 부분은 다음과 같습니다.
(setq mu4e-get-mail-command "offlineimap")
(setq mail-user-agent 'mu4e-user-agent)
(setq message-send-mail-function 'smtpmail-send-it)
(setq smtpmail-stream-type 'starttls)
(setq smtpmail-default-smtp-server "smtp.gmail.com")
(setq smtpmail-smtp-server "smtp.gmail.com")
(setq smtpmail-smtp-service 587)
(setq mu4e-contexts
`( ,(make-mu4e-context
:name "personal"
:enter-func (lambda () (mu4e-message "Switch to Personal context"))
;; leave-func not defined
:match-func (lambda (msg)
(when msg
(mu4e-message-contact-field-matches msg :to "personal@example.com")))
:vars '( (user-mail-address . "personal@example.com" )
(mu4e-drafts-folder . "/personal/drafts")
(mu4e-sent-folder . "/personal/sent")
(mu4e-trash-folder . "/personal/bin")
(mu4e-maildir-shortcuts . (("/personal/INBOX" . ?i)
("/personal/sent" . ?s)
("/personal/bin" . ?t)))
(smtpmail-mail-address . "personal@example.com")
(user-full-name . "Matt Valentine-House" )))
,(make-mu4e-context
:name "work"
:enter-func (lambda () (mu4e-message "Switch to Work context"))
;; leave-fun not defined
:match-func (lambda (msg)
(when msg
(mu4e-message-contact-field-matches msg :to "work@example.com")))
:vars '( (user-mail-address . "work@example.com" )
(mu4e-drafts-folder . "/work/drafts")
(mu4e-sent-folder . "/work/sent")
(mu4e-trash-folder . "/work/bin")
(mu4e-maildir-shortcuts . (("/work/INBOX" . ?i)
("/work/sent" . ?s)
("/work/bin" . ?t)))
(smtpmail-mail-address . "work@example.com")
( user-full-name . "Matthew Valentine-House" )))))