`mu4e -exts` wiele kont Gmail korzysta z niepoprawnych poświadczeń smtp


11

Próbuję skonfigurować wiele kont Gmail przy użyciu konta mu4e-context. Mam wiele funkcji, z wyjątkiem jednej. Mogę przełączać się między kontekstami, aktualizować pocztę na każdym koncie (używając offlineimap) i mogę wysyłać pocztę.

Problem polega na tym, że mam wiele wierszy w .authinfopliku, które mają tę samą nazwę hosta - zakładałem, mu4eże będę w stanie odróżnić nazwę użytkownika, wydaje się, że tak nie jest. Nie ma znaczenia, w jakim jestem kontekście, poczta jest zawsze wysyłana z konta skonfigurowanego jako pierwsze w .authinfopliku.

Nie wiem, jak sprawić, by każdy kontekst używał osobnych danych logowania do logowania do serwera SMTP Gmaila.

Myślałem o próbując założyć jakieś aliasy nazwy hosta, tak że personal.gmail.comi work.gmail.comzarówno wolę smtp.gmail.comtak, że mogę dać im oddzielne nazwy komputerów w authinfo, ale jestem pewien, jak to osiągnąć (na OSX), a nawet jeśli jest to rozsądny sposób na rozwiązanie tego problemu (Idealnie nie musiałbym przeszukiwać konfiguracji poza Emacsem).

Moje authinfo wygląda tak

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

a odpowiednie części mojej mu4e-config to:

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

Czy udało ci się to rozwiązać?
Pierre

Odpowiedzi:


5

Minęły prawie dwa lata, odkąd pytanie zostało zadane, ale właśnie miałem ten sam problem i udało mi się go rozwiązać za pomocą smtpmail-smtp-userzmiennej. W instrukcji napisano:

Jeśli zmienna smtpmail-smtp-user jest ustawiona na wartość inną niż zero, wówczas uwzględniane są tylko wpisy dla tego użytkownika.

W moim osobistym kontekście zmiennym mam:

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

W różnych kontekstach pracy mam:

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

Testowałem to tylko krótko, ale wydaje się, że działa poprawnie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.