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