Estoy tratando de configurar varias cuentas de Gmail usando mu4e-context
's. Tengo muchas funciones funcionando, excepto una. Puedo cambiar entre contextos, actualizar mi correo en cada cuenta (usando offlineimap) y puedo enviar correo.
El problema es que tengo varias líneas en mi .authinfo
archivo, que tienen el mismo nombre de host; suponía que mu4e
podría diferenciarse por nombre de usuario, este parece no ser el caso. No importa en qué contexto estoy, el correo siempre se envía desde la cuenta que se configura primero en el .authinfo
archivo.
No sé cómo hacer que cada contexto use credenciales separadas para iniciar sesión en el servidor SMTP de Gmail.
Pensé en intentar crear algunos alias de nombre de host de modo que personal.gmail.com
y work.gmail.com
tanto resolución de smtp.gmail.com
modo que yo les puedo dar nombres de las máquinas separadas en authinfo
, pero estoy seguro de como hacer esto (en OSX) o incluso si se trata de una forma sensata de resolver este problema (Idealmente, no tendría que hacer el mono con la configuración fuera de Emacs).
Mi authinfo se ve así
machine smtp.gmail.com login personal@example.com port 587 password fakepassword
machine smtp.gmail.com login work@example.com port 587 password fakepassword
y las partes relevantes de mi mu4e-config es:
(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" )))))