J'essaie de configurer plusieurs comptes Gmail à l'aide mu4e-context
de. J'ai beaucoup de fonctionnalités qui fonctionnent, sauf une. Je peux basculer entre les contextes, mettre à jour mon courrier dans chaque compte (en utilisant offlineimap) et je peux envoyer du courrier.
Le problème est que j'ai plusieurs lignes dans mon .authinfo
fichier, qui ont le même nom d'hôte - je supposais que ce mu4e
serait capable de différencier par nom d'utilisateur, cela ne semble pas être le cas. Peu importe le contexte dans lequel je me trouve, le courrier est toujours envoyé à partir du compte configuré en premier dans le .authinfo
fichier.
Je ne sais pas comment faire pour que chaque contexte utilise des informations d'identification distinctes pour se connecter au serveur SMTP Gmail.
Je pensais à essayer de mettre en place des alias de nom d'hôte afin que personal.gmail.com
et à la work.gmail.com
fois résolus à smtp.gmail.com
afin que je puisse leur donner des noms de machines distinctes dans authinfo
, mais je ne suis pas sûr comment atteindre cet objectif (sur OSX) ou même si elle est un moyen raisonnable de résoudre ce problème (Idéalement, je n'aurais pas à faire de singe avec une configuration en dehors d'Emacs).
Mon authinfo ressemble à ceci
machine smtp.gmail.com login personal@example.com port 587 password fakepassword
machine smtp.gmail.com login work@example.com port 587 password fakepassword
et les parties pertinentes de ma config mu4e sont:
(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" )))))