diff options
author | rekado <rekado@elephly.net> | 2014-09-15 12:35:06 +0200 |
---|---|---|
committer | rekado <rekado@elephly.net> | 2014-09-15 12:35:06 +0200 |
commit | c5bcfe28ad0824848ac649a9cea445c1ab54a98a (patch) | |
tree | d5cb1bb1d8690129d07e88e84da99d8d5b886b48 /email.el | |
parent | 827e10b360f8aada438b2941270a945e80bcd07c (diff) |
add mail account switcher function
Diffstat (limited to 'email.el')
-rw-r--r-- | email.el | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -7,6 +7,28 @@ (setq mu4e-html2text-command "html2text -utf8 -width 72") (setq mu4e-view-show-images t) +(defvar my-mu4e-account-alist '()) + +(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")))) + +(add-hook 'mu4e-compose-pre-hook 'my-mu4e-set-account) ; set up email sending with msmtp (setq mail-specify-envelope-from t) |