`mu4e-context` mehrere Google Mail-Konten mit falschen SMTP-Anmeldeinformationen


10

Ich versuche, mehrere Google Mail-Konten mit mu4e-context's' einzurichten . Ich habe viele Funktionen außer einer. Ich kann zwischen Kontexten wechseln, meine E-Mails in jedem Konto aktualisieren (mithilfe der Offline-Karte) und E-Mails senden.

Das Problem ist, dass ich mehrere Zeilen in meiner .authinfoDatei habe, die denselben Hostnamen haben. Ich ging davon aus, dass mu4edies nach Benutzernamen unterschieden werden kann. Dies scheint nicht der Fall zu sein. Es spielt keine Rolle, in welchem ​​Kontext ich mich befinde, die E-Mail wird immer von dem Konto gesendet, das zuerst in der .authinfoDatei konfiguriert wurde .

Ich weiß nicht, wie jeder Kontext separate Anmeldeinformationen für die Anmeldung am Google Mail-SMTP-Server verwenden soll.

Ich dachte daran , versuchen einige Host - Namen Aliase so dass einzurichten personal.gmail.comund work.gmail.comsowohl Entschlossenheit, smtp.gmail.comso dass ich sie getrennte Maschinennamen in geben kann authinfo, aber ich bin nicht sicher , wie dies zu erreichen (auf OSX) oder auch wenn es eine vernünftige Möglichkeit , dieses Problem zu lösen (Idealerweise müsste ich nicht mit der Konfiguration außerhalb von Emacs herumspielen).

Mein authinfo sieht so aus

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

und die relevanten Teile meiner mu4e-Konfiguration sind:

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

Konnten Sie das lösen?
Pierre

Antworten:


4

Es ist fast zwei Jahre her, seit die Frage gestellt wurde, aber ich hatte gerade das gleiche Problem und konnte es mit der smtpmail-smtp-userVariablen lösen . Im Handbuch heißt es:

Wenn die Variable smtpmail-smtp-user auf einen Wert ungleich Null gesetzt ist, werden nur Einträge für diesen Benutzer berücksichtigt.

In meinem persönlichen Kontext habe ich:

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

In meinem Arbeitskontext habe ich:

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

Ich habe es nur kurz getestet, aber es scheint richtig zu funktionieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.