" ;; my From:



;; note: all below are dirs (Maildirs) under elmo-maildir-folder-path

;; the '.'-prefix is for marking them as maildirs

wl-fcc ".sent" ;; sent msgs go to the "sent"-folder

wl-fcc-force-as-read t ;; mark sent messages as read

wl-default-folder ".inbox" ;; my main inbox

wl-draft-folder ".drafts" ;; store drafts in 'postponed'

wl-trash-folder ".trash" ;; put trash in 'trash'

wl-spam-folder ".trash" ;; ...spam as well

wl-queue-folder ".queue" ;; we don't use this



;; check this folder periodically, and update modeline

wl-biff-check-folder-list '(".todo") ;; check every 180 seconds

;; (default: wl-biff-check-interval)











;; hide many fields from message buffers

wl-message-ignored-field-list '("^.*:")

wl-message-visible-field-list

'("^\\(To\\|Cc\\):"



"^Subject:"

"^\\(From\\|Reply-To\\):"

"^Organization:"

"^Message-Id:"

"^\\(Posted\\|Date\\):"

"^[xX]-[Ff]ace:"

)

wl-message-sort-field-list

'("^From"



"^Organization:"

"^X-Attribution:"

"^Subject"

"^Date"

"^To"

"^Cc")

)



;;Get BBDB workiing

(require 'bbdb-wl)

(bbdb-wl-setup)

(define-key wl-draft-mode-map (kbd " ") 'bbdb-complete-name)



(setq

wl-forward-subject-prefix "Fwd: " ) ;; use "Fwd: " not "Forward: "





;; Invert behaviour of with and without argument replies.

;; just the author

(setq wl-draft-reply-without-argument-list

'(("Reply-To" ("Reply-To") nil nil)

("Mail-Reply-To" ("Mail-Reply-To") nil nil)

("From" ("From") nil nil)))





;; bombard the world

(setq wl-draft-reply-with-argument-list

'(("Followup-To" nil nil ("Followup-To"))

("Mail-Followup-To" ("Mail-Followup-To") nil ("Newsgroups"))

("Reply-To" ("Reply-To") ("To" "Cc" "From") ("Newsgroups"))

("From" ("From") ("To" "Cc") ("Newsgroups"))))





(defun djcb-wl-draft-subject-check ()

"check whether the message has a subject before sending"

(if (and (< (length (std11-field-body "Subject")) 1)

(null (y-or-n-p "No subject! Send current draft?")))

(error "Abort.")))





;; note, this check could cause some false positives; anyway, better

;; safe than sorry...

(defun djcb-wl-draft-attachment-check ()

"if attachment is mention but none included, warn the the user"

(save-excursion

(goto-char 0)

(unless ;; don't we have an attachment?



(re-search-forward "^Content-Disposition: attachment" nil t)

(when ;; no attachment; did we mention an attachment?

(re-search-forward "attach" nil t)

(unless (y-or-n-p "Possibly missing an attachment. Send current draft?")

(error "Abort."))))))



(add-hook 'wl-mail-send-pre-hook 'djcb-wl-draft-subject-check)

(add-hook 'wl-mail-send-pre-hook 'djcb-wl-draft-attachment-check)



;; don't ****ing split large messages

(setq mime-edit-split-message nil)





;For printing on black and white printer...

(setq wl-ps-print-buffer-function 'ps-print-buffer)







;Auto add signature on draft edit

(remove-hook 'wl-draft-send-hook 'wl-draft-config-exec)

(add-hook 'wl-mail-setup-hook 'wl-draft-config-exec)

(setq wl-draft-config-alist

'(((string-match "1" "1")

(bottom . "

--

") (bottom-file . "~/.signature"))

))







;; Wanderlust compose becomes bound to C-x m

(autoload 'wl-user-agent-compose "wl-draft" nil t)

(if (boundp 'mail-user-agent)

(setq mail-user-agent 'wl-user-agent))

(if (fboundp 'define-mail-user-agent)

(define-mail-user-agent

'wl-user-agent

'wl-user-agent-compose

'wl-draft-send

'wl-draft-kill

'mail-send-hook))





;; Fetchmail bount to C-x M-m



(defun fetchmail-fetch ()

(interactive)

(shell-command "fetchmail")

)

(global-set-key "\C-x\M-m" 'fetchmail-fetch)





;Stop mime errors when sending to AOL/others?

; osdir.com/ml/mail.wanderlust.general/2006-10/msg00007.html

;(setq-default mime-transfer-level 8)

(setq smtp-use-8bitmime nil)





;Swap a and A in summary mode, so citing original message is on a and no-cite on A.

;I want the most common action (for me) to be the one with fewer keypresses

(define-key wl-summary-mode-map (kbd "A") 'wl-summary-reply)

(define-key wl-summary-mode-map (kbd "a") 'wl-summary-reply-with-citation)



Wanderlust is a pain to set up, but the flexibility you get is worth it. I've been using it for a month now and (thanks to various posts and trawling through the cutomisation groups for wl, bbdb, mu-cite) this is what my wanderlust setup has grown to:;; mode:-*-emacs-lisp-*-;; wanderlust(setq wl-summary-always-sticky-folder-list t)(setq wl-summary-line-format "%n%T%P %D/%M (%W) %h:%m %t%[%25(%c %f%) %] %s")(setq wl-summary-width 150)(setq wl-user-mail-address-list (quote ("j.shuttleworth@coventry.ac.uk" "csx239@coventry.ac.uk")))(setq bbdb-use-pop-up nil);;Initial Wanderlust setup;; autoload configuration(autoload 'wl "wl" "Wanderlust" t)(autoload 'wl-other-frame "wl" "Wanderlust on new frame." t)(autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t);; If we wanted to we can set the init file to be something different;; (setq wl-init-file "~/.emacs.d/wl.el");; This should allow us to compose mail using C-x m(autoload 'wl-user-agent-compose "wl-draft" nil t)(if (boundp 'mail-user-agent)(setq mail-user-agent 'wl-user-agent))(if (fboundp 'define-mail-user-agent)(define-mail-user-agent'wl-user-agent'wl-user-agent-compose'wl-draft-send'wl-draft-kill'mail-send-hook));; BBDB for harvesting Email addresses.;; THe rest in in my WL file(add-to-list 'load-path "/usr/share/emacs23/site-lisp/bbdb/")(setq bbdb-file "~/Documents/portables/bbdb") ;; keep ~/ clean; set before loading(require 'bbdb)(bbdb-initialize)(setqbbdb-offer-save 1 ;; 1 means save-without-askingbbdb-use-pop-up t ;; allow popups for addressesbbdb-electric-p t ;; be disposable with SPCbbdb-popup-target-lines 1 ;; very smallbbdb-dwim-net-address-allow-redundancy t ;; always use full namebbdb-quiet-about-name-mismatches 2 ;; show name-mismatches 2 secsbbdb-always-add-address t ;; add new addresses to existing...;; ...contacts automaticallybbdb-canonicalize-redundant-nets-p t ;; x@foo.bar.cx => x@bar.cxbbdb-completion-type nil ;; complete on anythingbbdb-complete-name-allow-cycling t ;; cycle through matches;; this only works partiallybbbd-message-caching-enabled t ;; be fastbbdb-use-alternate-names t ;; use AKAbbdb-elided-display t ;; single-line addresses;; auto-create addresses from mailbbdb/mail-auto-create-p 'bbdb-ignore-some-messages-hook;; bbdb-ignore-some-messages-alist ;; don't ask about fake addresses;; NOTE: there can be only one entry per header (such as To, From);; http://flex.ee.uec.ac.jp/texi/bbdb/bbdb_11.html;; '(( "From" . "no.?reply\\|DAEMON\\|daemon\\|facebookmail\\|twitter")))(add-to-list 'load-path "/usr/share/emacs23/site-lisp/mu-cite/")(require 'mu-cite)(add-hook 'mail-citation-hook 'mu-cite-original)(setq mu-cite-top-format'("On " date "," full-name " spake thus:

"))(setq signature-file-name "~/.signature"signature-insert-at-eof tsignature-delete-blank-lines-at-eof tmu-cite-prefix-format (quote ("> ")) ; default to >, no questions asked, rather than name(add-hook'wl-init-hook'(lambda ();; Add support for (signature . "filename")(unless (assq 'signature wl-draft-config-sub-func-alist)(wl-append wl-draft-config-sub-func-alist'((signature . wl-draft-config-sub-signature))))(defun mime-edit-insert-signature (&optional arg)"Redefine to insert a signature file directly, not as a tag."(interactive "P")(insert-signature arg));; Keep track of recently used Email addresses;;(recent-addresses-mode 1)))(defun wl-draft-config-sub-signature (content)"Insert the signature at the end of the MIME message."(let ((signature-insert-at-eof nil)(signature-file-name content))(goto-char (mime-edit-content-end))(insert-signature)))(setqelmo-maildir-folder-path "~/Maildir" ;; where i store my mailwl-stay-folder-window t ;; show the folder pane (left)wl-folder-window-width 25 ;; toggle on/off with 'i'wl-smtp-posting-server "mail.coventry.ac.uk" ;; put the smtp server here;wl-smtp-posting-server;The initial setting is nil. This is the SMTP server name for mail transmission.;wl-smtp-posting-port;The initial setting is nil. This is the SMTP port number for mail transmission. If nil, default SMTP port number (25) is used.wl-smtp-posting-user "csx239";The initial setting is nil. This is the user name for SMTP AUTH authentication.wl-smtp-authenticate-type "login";The initial setting is nil. This string-valued variable specifies the authentication method for SMTP AUTH authentication. You may specify plain, cram-md5, digest-md5, login, etc. If nil, authentication will not be carried out.wl-local-domain "ng43-1.coventry.ac.uk" ;; put something here...wl-message-id-domain "coventry.ac.uk" ;; ...wl-from "James Shuttleworth