mu4e
Emacs에서 이메일을 사용 하고 있으며 현재 하나의 메일 계정으로 만 구성되어 있으며 다른받은 편지함을 볼 수 있도록 키를 설정했습니다. 여러 이메일 계정을 관리하기 위해 mu4e를 사용하는 방법이 궁금합니다.
mu4e
Emacs에서 이메일을 사용 하고 있으며 현재 하나의 메일 계정으로 만 구성되어 있으며 다른받은 편지함을 볼 수 있도록 키를 설정했습니다. 여러 이메일 계정을 관리하기 위해 mu4e를 사용하는 방법이 궁금합니다.
답변:
두 개의 계정으로 mu4e를 사용하고 있습니다. 각 계정에는 고유 한 maildir이 있습니다.
~/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
모든 maildir이 하위 디렉토리 인 경우을 사용하여 메일 폴더간에 간단히 전환 할 수 있습니다 mu4e-maildir
.
실제로 한 maildir에서 다른 maildir로 이메일을 이동하는 것을 피하기 위해 보다 정교한 기능을 사용 mu4e-trash-folder
하고 mu4e-refile-folder
있지만 위의 정보는 여러 계정을 사용하기에 충분해야합니다.
가능한 한 적게 섞고 싶은 두 개의 다른 계정을 사용하고 있습니다.
offlineimap 은 두 개의 계정으로 구성되며 하나 ~/.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")
...))))
Magnus와 매우 유사한 설정을 사용하고 있으며 추가하고 싶었지만 (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
나는 들어오는에서 메일을받을 모든 내 계좌뿐 아니라 직장이나 개인 문맥을.