`mu4e-contexts` più account gmail usando credenziali smtp errate


10

Sto tentando di configurare più account Gmail utilizzando mu4e-context". Ho molte funzionalità funzionanti tranne una. Posso passare da un contesto all'altro, aggiornare la mia posta in ogni account (usando offlineimap) e posso inviare posta.

Il problema è che ho più righe nel mio .authinfofile, che hanno lo stesso nome host - supponevo che mu4esarei stato in grado di differenziare per nome utente, questo sembra non essere il caso. Non importa in quale contesto mi trovo, la posta viene sempre inviata dall'account che viene configurato per primo nel .authinfofile.

Non so come fare in modo che ciascun contesto utilizzi credenziali separate per accedere al server SMTP di Gmail.

Ho pensato di tentare di impostare alcuni alias hostname in modo che personal.gmail.come work.gmail.comsia volontà di smtp.gmail.commodo che io possa dare loro i nomi delle macchine separate in authinfo, ma non sono sicuro come raggiungere questo obiettivo (su OSX) o anche se si tratta di un modo ragionevole per risolvere questo problema (Idealmente non dovrei scimmiottare con la configurazione fuori da Emacs).

Il mio authinfo è simile a questo

machine smtp.gmail.com login personal@example.com port 587 password fakepassword
machine smtp.gmail.com login work@example.com port 587 password fakepassword

e le parti rilevanti del mio mu4e-config sono:

(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" )))))

Sei riuscito a risolverlo?
Pierre,

Risposte:


5

Sono passati quasi due anni da quando è stata posta la domanda, ma ho appena avuto lo stesso problema e sono riuscito a risolverlo usando la smtpmail-smtp-uservariabile. Nel manuale dice:

Se la variabile smtpmail-smtp-user è impostata su un valore diverso da zero, vengono prese in considerazione solo le voci per quell'utente.

Nel mio contesto personale ho:

(smtpmail-smtp-user . "personal@example.com")

Nel mio contesto di lavoro, ho:

(smtpmail-smtp-user . "work@example.com")

L'ho provato solo brevemente, ma sembra funzionare correttamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.