मैं mu4eEmacs में ईमेल के लिए उपयोग कर रहा हूं , और यह वर्तमान में केवल एक मेल खाते के लिए कॉन्फ़िगर किया गया है, और मैंने अलग-अलग इनबॉक्स को देखने के लिए कुंजी सेट की है। मुझे आश्चर्य है कि कई ईमेल खातों के प्रबंधन के लिए mu4e का उपयोग कैसे करें?
मैं mu4eEmacs में ईमेल के लिए उपयोग कर रहा हूं , और यह वर्तमान में केवल एक मेल खाते के लिए कॉन्फ़िगर किया गया है, और मैंने अलग-अलग इनबॉक्स को देखने के लिए कुंजी सेट की है। मुझे आश्चर्य है कि कई ईमेल खातों के प्रबंधन के लिए mu4e का उपयोग कैसे करें?
जवाबों:
मैं दो खातों के साथ mu4e का उपयोग कर रहा हूं। प्रत्येक खाते का अपना मेल-खाता है:
~/Mail
|
+---- work
|
`---- private
खाता चुनने के लिए मैनुअल एक उदाहरण फ़ंक्शन के साथ आता है:
(defun my-mu4e-set-account ()
"Set the account for composing a message."
(let* ((account
(if mu4e-compose-parent-message
(let ((maildir (mu4e-message-field mu4e-compose-parent-message :maildir)))
(string-match "/\\(.*?\\)/" maildir)
(match-string 1 maildir))
(completing-read (format "Compose with account: (%s) "
(mapconcat #'(lambda (var) (car var))
my-mu4e-account-alist "/"))
(mapcar #'(lambda (var) (car var)) my-mu4e-account-alist)
nil t nil nil (caar my-mu4e-account-alist))))
(account-vars (cdr (assoc account my-mu4e-account-alist))))
(if account-vars
(mapc #'(lambda (var)
(set (car var) (cadr var)))
account-vars)
(error "No email account found"))))
;; ask for account when composing mail
(add-hook 'mu4e-compose-pre-hook 'my-mu4e-set-account)
उस काम के लिए आपको my-mu4e-account-alistनिम्न की भी आवश्यकता होगी :
(defvar my-mu4e-account-alist
'(("private"
(user-mail-address "private@domain.net")
(user-full-name "My Name")
(mu4e-sent-folder "/private/Sent Items")
(mu4e-drafts-folder "/private/Drafts")
(mu4e-trash-folder "/private/Deleted Items")
(mu4e-refile-folder "/private/Archive"))
("work"
(user-mail-address "work@domain.net")
(mu4e-sent-folder "/work/Sent Items")
(mu4e-drafts-folder "/work/Drafts")
(mu4e-trash-folder "/work/Deleted Items")
(mu4e-refile-folder "/work/Archives"))))
(setq mu4e-user-mail-address-list
(mapcar (lambda (account) (cadr (assq 'user-mail-address account)))
my-mu4e-account-alist))
आप बस मेल फ़ोल्डर के बीच स्विच कर सकते हैं j, जब तक कि आपके सभी maildirs उप-सीमाएँ हैं mu4e-maildir।
मैं वास्तव में के लिए एक से अधिक विस्तृत समारोह का उपयोग कर रहा हूं mu4e-trash-folderऔर mu4e-refile-folderएक से दूसरे मेलडिर से ईमेल को स्थानांतरित करने से बचने के लिए, लेकिन ऊपर की जानकारी कई खातों का उपयोग करने के लिए पर्याप्त होनी चाहिए।
मैं दो अलग-अलग खातों का उपयोग कर रहा हूं जिन्हें मैं जितना संभव हो उतना कम मिश्रण करना चाहता हूं।
ऑफलाइनमैप को दो खातों के साथ कॉन्फ़िगर किया गया है, एक ~/.maildir-workदूसरे में मेल वितरित करता है ~/.maildir-home।
Mu4e के लिए मेरा कॉन्फ़िगरेशन नए संदर्भ तंत्र का उपयोग करता है:
(setq mu4e-contexts
`( ,(make-mu4e-context
:name "home"
:match-func (lambda (_) (string-equal "home" (mu4e-context-name mu4e~context-current)))
:enter-func '()
:leave-func (lambda () (mu4e-clear-caches))
:vars '((mu4e-maildir . "~/.maildir-home")
(mu4e-mu-home . "~/.mu-home")
(mu4e-get-mail-command . "offlineimap -a Home")
...))
,(make-mu4e-context
:name "work"
:match-func (lambda (_) (string-equal "work" (mu4e-context-name mu4e~context-current)))
:enter-func '()
:leave-func (lambda () (mu4e-clear-caches))
:vars '((mu4e-maildir . "~/.maildir-work")
(mu4e-mu-home . "~/.mu-work")
(mu4e-get-mail-command . "offlineimap -a Work")
...))))
मैं मैग्नस के समान एक सेटअप का उपयोग कर रहा हूं, और बस वह जोड़ना चाहता है जो (mu4e-quit)मौजूद है, और यह फिर से शुरू किए बिना खातों की सफाई के लिए ठीक काम करता है। वास्तविक तंत्र:
(defun mail-gmail ()
(interactive)
(setenv "MAILDIR" "/Users/foo/Maildir/gmail")
(setenv "MU_HOME" "/Users/foo/.mu/gmail")
(setq mu4e-maildir "/Users/foo/Maildir/gmail")
(setq user-mail-address "...")
(mu4e-quit))
mu4e-inbox-folderचर नहीं है, और जब मैं दबाताjiहूं तो मुझे मेरे सभी खातों से आने वाले मेल मिलते हैं, न कि केवल काम या निजी संदर्भ।