3 ;;; Configuration for VM
5 (setq vm-reply-subject-prefix "Re: "
6 vm-included-text-prefix "> "
7 vm-included-text-attribution-format "%F <%f> wrote:\n\n"
8 vm-folder-directory "~/Mail/"
9 vm-startup-with-summary t
10 vm-skip-deleted-messages nil
11 vm-circular-folders nil
13 vm-highlighted-header-regexp "^From\\|^Subject"
14 vm-delete-after-saving t
15 vm-move-after-deleting t
16 vm-delete-empty-folders)
18 (setq vm-mime-qp-encoder-program "mimencode"
19 vm-mime-qp-encoder-switches '("-q")
20 vm-mime-qp-decoder-program "mimencode"
21 vm-mime-qp-decoder-switches '("-q" "-u")
22 vm-mime-base64-encoder-program "mimencode"
23 vm-mime-base64-encoder-switches '("-b")
24 vm-mime-base64-decoder-program "mimencode"
25 vm-mime-base64-decoder-switches '("-b" "-u"))
27 (setq vm-visible-headers '("resent-from:" "from:" "reply-to:" "sender:"
28 "to:" "apparently-to:" "cc:"
30 "delivered-to:" "return-path:"))
32 (setq vm-reply-ignored-addresses '("mdw@excessus\\.demon\\.co\\.uk"
33 "mdw@nsict\\.org" "mdw@eh\\.org"
35 "mwooding@ncipher\\.com"
36 "submit@bugs\\.ncipher\\.com"
37 "mdw@chiark\\.greenend\\.org\\.uk"
38 "mdw@distorted\\.org\\.uk"
39 "mdw@metalzone\\.distorted\\.org\\.uk"
42 (defvar mdw-mailing-lists
43 '("hibachi-dealers-members@chiark\\.greenend\\.org\\.uk"))
45 (setq vm-mime-external-content-types-alist
46 '(("image/jpeg" "display")
47 ("image/jpg" "display")
48 ("image/gif" "display")
49 ("image/bmp" "display")
50 ("image/tiff" "display")
51 ("application/postscript" "gv")
52 ("application/pdf" "gv")))
54 (setq vm-url-browser "firefox")
56 (setq vm-frame-parameter-alist
57 '((folder ((width . 81) (height . 33)))
58 (summary ((width . 81) (height . 33)))
59 (primary-summary ((width . 81) (height . 33)))))
61 (setq vm-auto-folder-alist
62 '(("delivered-to" ("root@" . "admin"))))
64 (defun join-strings (del strings)
65 (with-output-to-string
69 (setq strings (cdr strings))
73 (setq strings (cdr strings))))))
75 (defun mdw-vm-fix-mailing-lists ()
78 (or (vm-mail-mode-get-header-contents "Resent-To:")
79 (vm-mail-mode-get-header-contents "Resent-Cc:")
80 (vm-mail-mode-get-header-contents "Resent-Bcc:")
81 (let ((mailing-list-regex (concat "\\<\\("
85 (to (vm-mail-mode-get-header-contents "To:"))
86 (cc (vm-mail-mode-get-header-contents "Cc:")))
87 (if (or (and to (string-match mailing-list-regex to))
88 (and cc (string-match mailing-list-regex cc)))
89 (let ((addrs (nconc (and to (vm-parse-addresses to))
90 (and cc (vm-parse-addresses cc))))
93 (if (string-match mailing-list-regex (car addrs))
94 (setq new (cons (car addrs) new)))
95 (setq addrs (cdr addrs)))
96 (vm-mail-mode-remove-header "Cc:")
97 (vm-mail-mode-remove-header "To:")
99 (goto-char (point-min))
100 (insert (format "To: %s\n" (join-strings ", " new))))))))))
102 (add-hook 'vm-reply-hook 'mdw-vm-fix-mailing-lists)