Saya mencoba menyiapkan beberapa akun Gmail menggunakan mu4e-context
. Saya memiliki banyak fitur yang berfungsi kecuali satu. Saya dapat beralih antar konteks, memperbarui email saya di setiap akun (menggunakan offlineimap) dan saya dapat mengirim email.
Masalahnya adalah bahwa saya memiliki beberapa baris dalam .authinfo
file saya , yang memiliki nama host yang sama - saya berasumsi bahwa mu4e
akan dapat dibedakan berdasarkan nama pengguna, ini tampaknya tidak terjadi. Tidak masalah dalam konteks apa saya berada, surat selalu dikirim dari akun yang dikonfigurasi terlebih dahulu dalam .authinfo
file.
Saya tidak tahu bagaimana membuat setiap konteks menggunakan kredensial terpisah untuk masuk ke Server SMTP Gmail.
Saya berpikir untuk mencoba membuat beberapa alias nama host sehingga personal.gmail.com
dan work.gmail.com
keduanya memutuskan smtp.gmail.com
agar saya dapat memberi mereka nama mesin yang terpisah authinfo
, tetapi saya tidak yakin bagaimana cara mencapainya (pada OSX) atau bahkan jika itu cara yang masuk akal untuk menyelesaikan masalah ini (Idealnya saya tidak perlu bermain-main dengan konfigurasi di luar Emacs).
Authinfo saya terlihat seperti ini
machine smtp.gmail.com login personal@example.com port 587 password fakepassword
machine smtp.gmail.com login work@example.com port 587 password fakepassword
dan bagian yang relevan dari mu4e-config saya adalah:
(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" )))))