`mu4e-contexts` кілька облікових записів Gmail, використовуючи неправильні облікові дані smtp


11

Я намагаюся створити кілька облікових записів Gmail за допомогою mu4e-contexts. У мене багато функцій, окрім однієї. Я можу перемикатися між контекстами, оновлювати пошту в кожному обліковому записі (використовуючи offlineimap) і можу надсилати пошту.

Проблема полягає в тому, що у моєму .authinfoфайлі є кілька рядків , які мають однакове ім’я хоста - я припускав, що mu4eможна буде диференціювати за ім'ям користувача, але це, мабуть, не так. Не важливо, в якому контексті я перебуваю, пошта завжди надсилається з облікового запису, який налаштований спочатку у .authinfoфайлі.

Я не знаю, як змусити кожен контекст використовувати окремі облікові дані для входу на сервер Gmail SMTP.

Я думав про спробу встановити деякі псевдоніми імені хоста, щоб personal.gmail.comі work.gmail.comобидва вирішили, щоб smtp.gmail.comя міг дати їм окремі імена машин authinfo, але я не знаю, як цього досягти (на OSX) або навіть якщо це розумний спосіб вирішити цю проблему. (В ідеалі мені не довелося б обходити з конфігурацією поза Emacs).

Моя аутоінфо виглядає приблизно так

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

а відповідні частини мого mu4e-config є:

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

Чи змогли ви вирішити це?
П’єр

Відповіді:


5

Минуло майже два роки з того часу, як було задано питання, але у мене якраз була та сама проблема, і мені вдалося вирішити її за допомогою smtpmail-smtp-userзмінної. У посібнику написано:

Якщо для змінної smtpmail-smtp-user встановлено значення, що не має нульового значення, тоді враховуються лише записи для цього користувача.

В моєму особистому контексті, я маю:

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

У моєму контексті роботи:

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

Я перевірив це лише коротко, але, здається, працює належним чином.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.