Я намагаюся створити кілька облікових записів Gmail за допомогою mu4e-context
s. У мене багато функцій, окрім однієї. Я можу перемикатися між контекстами, оновлювати пошту в кожному обліковому записі (використовуючи 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" )))))