;; -*-mode:lisp; coding:latin-1-*-
;; Author : Jérôme LELONG
;; address@server
;; http://cermics.enpc.fr/~lelong
;; Unlimited permission is granted to use, copy, distribute, and/or
;; modify this program. There is NO WARRANTY.
;; ----------------------------------------------- ;;
;; to handle several accounts.
;; use C to change account when in summary mode
(setq mew-config-alist
'(
("default"
("mailbox-type" . imap)
("proto" . "%")
("imap-server" . "mailhost1.ensta.fr")
("imap-ssl" . t)
("imap-user" . " ") ;; to be completed
("user" . " ") ;; to be completed
("name" . " ") ;; to be completed
("imap-delete" . nil)
("imap-size" . 0)
("smtp-server" . "mailhost1.ensta.fr")
("smtp-ssl" . nil )
("mail-domain" . "ensta.fr")
("fcc" . "%Sent")
("inbox-folder" . "%inbox")
("imap-friend-folder" . "%from")
("imap-trash-folder" . "%Trash")
)
("cermics"
("mailbox-type" . imap)
("proto" . "%")
("imap-server" . "cermics.enpc.fr")
("imap-ssl" . t)
("imap-user" . " ") ;; to be completed
("user" . " ") ;; to be completed
("name" . " ") ;; to be completed
("imap-delete" . nil)
("imap-size" . 0)
("smtp-server" . "cermics.enpc.fr")
("mail-domain" . "cermics.enpc.fr")
("signature-file" . "~/.signature.mew")
("fcc" . "%mail_imap/Sent")
("inbox-folder" . "%inbox")
("imap-friend-folder" . "%mail_imap/from")
("imap-trash-folder" . "%mail_imap/Trash")
)
("cermics-ssh"
("mailbox-type" . imap)
("proto" . "%")
("imap-ssh-server" . "cermics.enpc.fr")
("imap-server" . "cermics.enpc.fr")
("imap-ssl" . nil)
("imap-user" . " ") ;; to be completed
("imap-delete" . nil)
("imap-size" . 0)
("name" . " ") ;; to be completed
("user" . " ") ;; to be completed
("smtp-ssh-server" . "cermics.enpc.fr")
("smtp-server" . "cermics.enpc.fr")
("smtp-ssl" . nil)
("mail-domain" . "cermics.enpc.fr")
("fcc" . "%mail_imap/Sent")
("inbox-folder" . "%inbox")
("imap-friend-folder" . "%mail_imap/from")
("imap-trash-folder" . "%mail_imap/Trash")
)
("inria"
("mailbox-type" . imap)
("imap-ssl" . t)
("proto" . "%")
("pop-server" . "imaps-rocq.inria.fr")
("name" . " ") ;; to be completed
("user" . " ") ;; to be completed
("smtp-server" . "mailhost.inria.fr")
("imap-user" . " ") ;; to be completed
("mail-domain" . "inria.fr")
("signature-file" . "~/.signature.mew")
)
("neuf"
("mailbox-type" . imap)
("imap-ssl" . nil)
("proto" . "%")
("imap-server" . "imap.neuf.fr")
("name" . " ") ;; to be completed
("imap-user" . " ") ;; to be completed
("user" . " ") ;; to be completed
("imap-delete" . nil)
("imap-size" . 0)
("smtp-server" . "localhost")
("mail-domain" . "neuf.fr")
("inbox-folder" . "%debian")
("fcc" . "%Sent")
("imap-trash-folder" . "%Trash")
("signature-file" . "~/.signature.mew.neuf")
)
("neuf-smtp"
("smtp-ssl" . nil )
("smtp-server" . "smtp.neuf.fr")
)
("cermics-smtp"
("smtp-user" . "lelong")
("smtp-server" . "cermics.enpc.fr")
("smtp-ssl" . t )
("smtp-ssl-port" . 587)
("smtp-port" . 587)
)
("inria-smtp"
("smtp-server" . "mailhost.inria.fr")
("smtp-ssl" . nil )
("smtp-port" . 25)
)
("local"
("mailbox-type" . mbox)
("proto" . "+")
("name" . " ") ;; to be completed
("mbox-command-arg" . "-c -u -d /var/mail/jl")
("inbox-folder" . "+system")
)
)
)
;; ----------------------------------------------- ;;
;; general config for all accounts
(setq mew-smtp-ssl-port "465")
(setq mew-prog-ssl "/opt/local/bin/stunnel")
(setq mew-ssl-verify-level 0)
(setq mew-pop-auth 'pass)
(setq mew-pop-size 0)
(setq mew-smtp-port "25")
(setq mew-mbox-command "incm")
(setq mew-auto-flush-queue t)
(setq mew-decode-broken t)
(setq mew-summary-form-mark-spam t)
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; Default paths
(setq mew-mail-path "~/.Mail-Mew")
(setq mew-conf-path mew-mail-path)
(setq mew-addrbook-file "~/live/dotfiles/.Addressbook")
;;; remember last directory when saving
(setq mew-summary-preserve-dir t)
(setq mew-draft-preserve-dir t)
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; insert signature
(setq mew-signature-insert-last nil)
(setq mew-signature-as-lastpart nil)
(add-hook 'mew-before-cite-hook 'mew-header-goto-body)
;; (add-hook 'mew-draft-mode-newdraft-hook 'my-mew-draft-append-signature)
;; (defun my-mew-draft-append-signature ()
;; (let ((mew-signature-insert-last t))
;; (mew-draft-insert-signature)))
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; Password
;; WARNING: Password is stored in Emacs with RAW format.
(setq mew-use-cached-passwd t) ;; nil
(setq mew-passwd-timer-unit 1) ;; 10 (minutes)
(setq mew-passwd-lifetime 300000) ;; 2
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; Biff
(setq mew-auto-get nil)
(setq mew-use-biff t) ;; nil
(setq mew-use-biff-bell t) ;; nil
(setq mew-imap-biff-interval 4) ;; 5 (minutes)
(setq mew-biff-interval mew-imap-biff-interval) ;; for Mew
;; ----------------------------------------------- ;;
(setq mew-use-alternative nil)
(defvar mew-field-circular-completion-switch
'(("To:" . mew-circular-complete-domain)))
;; ----------------------------------------------- ;;
;; look and feel
;;(setq mew-decode-broken nil)
(setq mew-window-use-full t)
(setq mew-underline-lines-use t)
(setq mew-use-fancy-thread t)
(setq mew-use-fancy-highlight-body t)
(setq mew-fancy-highlight-body-prefix-width 10)
(setq mew-highlight-body-regex-comment "^[;#?%]+.*")
(setq mew-prog-imls-arg-list '("--thread=yes" "--indent=2"))
;;(setq mew-use-highlight-mouse-line t)
;; ceci pour remplacer le curseur par une barre
;; colorée, c'est selon les goûts
(setq mew-use-highlight-cursor-line t)
(setq mew-highlight-cursor-line-face 'underline)
(setq mew-use-cursor-mark t)
;; La forme originale du sommaire ne me plait pas
;;(setq mew-summary-form
;; '(type (5 date) " " (-4 size) " " (24 from) " " t (40 subj)))
(setq mew-summary-form
'(type (5 date) " " (14 from) " " t (30 subj) "|" (0 body)))
(setq mew-sort-default-key "x-date-count")
(set-face-foreground 'mew-face-mark-delete "red")
(set-face-bold-p 'mew-face-mark-delete t)
(set-face-foreground 'mew-face-mark-refile "darkgreen")
(set-face-bold-p 'mew-face-mark-refile t)
(set-face-bold-p 'mew-face-mark-review t)
(set-face-bold-p 'mew-face-mark-unread t)
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; external applications
(setq browse-url-netscape-program "open")
(setq browse-url-mozilla-program "open")
(setq thing-at-point-url-path-regexp "[~/A-Za-z0-9---_.${}#%,:]+")
(setq mew-prog-text/html 'mew-mime-text/html-w3m)
(setq mew-prog-text/html-ext "open")
(setq mew-prog-text/xml 'mew-mime-text/html-w3m)
(setq mew-prog-text/xml-ext "open")
(setq mew-prog-application/xml nil)
(setq mew-prog-application/xml-ext "open")
(setq browse-url-browser-function 'browse-url-netscape)
(setq mew-prog-pdf "open")
(setq mew-prog-msword '("open" nil t))
(setq mew-prog-msexcel '("open" nil t))
(setq mew-prog-mspowerpoint '("open" nil t))
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; address@server browse-url
(autoload 'browse-url-interactive-arg "browse-url")
(autoload 'browse-url-browser-function "browse-url"
"Ask a WWW browser to show a URL." t)
(autoload 'browse-url-at-point "browse-url"
"Ask a WWW browser to load the URL at or before point." t)
(autoload 'browse-url-at-mouse "browse-url"
"Ask a WWW browser to load a URL clicked with the mouse." t)
(autoload 'browse-url-of-buffer "browse-url"
"Ask a WWW browser to display BUFFER." t)
(autoload 'browse-url-of-file "browse-url"
"Ask a WWW browser to display FILE." t)
(autoload 'browse-url-of-dired-file "browse-url"
"In Dired, ask a WWW browser to display the file named on this line." t)
;; key bind
;; Mew Message mode
(add-hook 'mew-message-mode-hook
(function
(lambda ()
(local-set-key [mouse-2] 'browse-url-at-mouse)
)))
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; unread mark
(setq mew-use-unread-mark t)
;; only put U on "+inbox" "%inbox" "+debian"
(setq mew-unread-mark-list
'((("+inbox" "%inbox" "+debian") t)
(t nil)))
(setq mew-delete-unread-mark-by-mark nil)
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; Auto-refile
(defvar mew-refile-guess-control
'(mew-refile-guess-by-alist
mew-refile-guess-by-from
mew-refile-guess-by-default)
)
(setq mew-refile-guess-alist
'(
("From:"
("address@server" . "%from/jfd")
("address@server" . "%from/bl")
("address@server" . "%from/jpc")
("address@server" . "%from/jacques.daniel")
("address@server" . "%from/roland.jarry")
("address@server" . "%teaching/ENSTA_3A")
)
("To:"
("address@server" . "%from/jacques.daniel")
("address@server" . "%from/roland.jarry")
("premia-address@server" . "%premia-svn")
("premia-address@server" . "%premia-devel")
)
("Subject:"
("\\(ENSTA\\|MA\\ 101\\|MA204\\|MAE51\\)" . "%teaching/ENSTA")
("Bug#" . "+debian")
)
)
)
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; reply citation
;; 'body --> reply before citation
;; 'end --> reply after citation
(setq mew-summary-reply-with-citation-position 'body)
(setq mew-cite-hook 'sc-cite-original)
(setq sc-preferred-header-style 1)
(setq sc-auto-fill-region-p t)
(setq sc-reference-tag-string "")
;; ;; when no supercite
;; (setq mew-addrbook-for-cite-label 'nickname)
;; (setq mew-draft-cite-fill-mode 'wrap)
;; (setq mew-draft-cite-label-fill-column 50)
;; (setq mew-cite-prefix-function (lambda()
;; (setq prefix (mew-cite-prefix-username))
;; (concat "\t test" prefix)
;; )
;; )
;; (setq mew-addrbook-for-cite-prefix 'nickname)
;; (setq mew-cite-fields '("From:"))
;; (setq mew-cite-format "\n\n>>>>> %s wrote:\n\n")
;; (setq mew-cite-prefix "> ")
;; (setq mew-cite-fields '("From:" "Subject:" "Date:"))
;; (setq mew-cite-format
;; "\n\n-------- Original Message ---------\n\
;; From: %s\nSubject: %s\nDate: %s\n\n")
;; ----------------------------------------------- ;;
;; to use w3m
(setq mew-mime-multipart-alternative-list '("Text/Html" "Text/Plain" "*."))
(setq mew-mail-domain-list
'("ensta.fr" "cermics.enpc.fr"))
;; ----------------------------------------------- ;;
;; dans affichage mew d'un mail, rendre visible X-Spam-Status
(setq mew-field-spec
'(
("^Subject:$" t mew-face-header-important mew-face-header-subject)
("^From:$" t mew-face-header-important mew-face-header-from)
("^\\(To\\|Apparently-To\\):$" t mew-face-header-important
mew-face-header-to)
("^\\(Cc\\|Bcc\\):$" t mew-face-header-important mew-face-header-to)
("^Newsgroups:$" t mew-face-header-important mew-face-header-to)
("^Date:$" t mew-face-header-important mew-face-header-date)
("^Reply-To:$" t)
("^X-Mailer:$" t)
("^X-Mew:$" t mew-face-header-important mew-face-header-xmew)
("\\(Received\\|Return-Path\\|Sender\\|Errors-To\\):$" nil)
("\\(Message-Id\\|Posted\\|In-Reply-To\\|References\\|Precedence\\):$"
nil)
("^Delivered-" nil)
("^List-" nil)
("^\\(Mime-Version\\|Lines\\):$" nil)
("^From$" nil)
("^Status:$" nil)
("^X-Spam-Status" nil )
("^X-Spam-Probabilty" nil )
("^X-Spam-Flag" nil)
("^X-Spam-Level" nil)
("^X-" nil mew-face-header-private mew-face-header-marginal)
("Resent-" nil)
("^Received-SPF" nil)
("^\\(DKIM\\|DomainKey\\)-Signature:" nil)
)
)
;; pour voir toutes les adresses To mettre à nil
(setq mew-use-header-veil t)
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; Gnupg
;; (setq mew-protect-privacy-always t)
;; (setq mew-protect-privacy-always-type 'pgp-signature)
;; (setq mew-use-pgp-cached-passphrase t)
;; (setq mew-pgp-server-url-template "http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x4BB3C992")
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; Grep
(setq mew-prog-grep "grep") ;; `C-u ?'
(setq mew-prog-grep-opts '("-i" "-l" "-e")) ;; '("-l" "-e")
(setq mew-prog-vgrep "grep") ;; Virtual mode
(setq mew-prog-vgrep-opts '("-i" "-l" "-e")) ;; '("-l" "-e")
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; Printing mail
(setq mew-field-for-printing '("Subject:" "From:" "To:" "Cc:" "Date:"))
(setq mew-print-function 'ps-print-buffer)
;; ----------------------------------------------- ;;
;; ----------------------------------------------- ;;
;; Spell chacking
(defun jl-spell-mail ( lang )
(interactive "sLanguage : fr br ")
(if (string-equal lang "fr")
(setq ispell-local-dictionary "francais")
)
(if (string-equal lang "br")
(setq ispell-local-dictionary "british")
)
(save-excursion
(beginning-of-buffer)
(search-forward "----")
(defvar debut (point))
(search-forward "--")
(defvar fin (point))
(ispell-region debut fin)
)
)
;; ----------------------------------------------- ;;
;; ---------------------------------------- ;;
;; A few more hooks
(add-hook 'mew-draft-mode-hook
'(lambda()
(define-key mew-draft-mode-map "\C-zb" 'jl-spell-mail)
(setq fill-column 70)
(setq default-tab-width 4)
(auto-fill-mode 1)
(setq default-justification 'full)))
(add-hook 'mew-summary-mode-hook
'(lambda ()
(define-key mew-summary-mode-map "\C-zo"
'mew-summary-auto-refile)
(line-number-mode t)))
;; ----------------------------------------------- ;;
(defun jl-forward-inline ()
"Forwards a message inline. Inspired from mew-summary-reply"
(interactive)
(mew-summary-msg-or-part
(mew-summary-not-in-draft
(mew-current-set-window-config)
(let* ((owin (selected-window))
(fld (mew-summary-folder-name))
(msg (mew-summary-message-number2))
(draft (mew-folder-new-message mew-draft-folder))
(to (and mew-ask-to (mew-input-address (concat mew-to: " "))))
(cc (and mew-ask-cc (mew-input-address (concat mew-cc: " "))))
(asked (or mew-ask-to mew-ask-cc))
msg-subject msg-to msg-from msg-date fwsubject cwin)
(mew-summary-prepare-draft
(mew-draft-find-and-switch draft t)
(mew-delete-directory-recursively (mew-attachdir draft))
(setq cwin (selected-window)) ;; draft
(select-window owin)
(mew-summary-set-message-buffer fld msg)
(setq msg-subject (mew-header-get-value mew-subj:))
(setq msg-to (mew-header-get-value mew-to:))
(setq msg-from (mew-header-get-value mew-from:))
(setq msg-date (mew-header-get-value mew-date:))
(if msg-subject
(setq fwsubject (mew-subject-simplify (concat mew-forward-string msg-subject))))
(select-window cwin) ;; draft
;;
(mew-draft-header fwsubject 'nl to cc nil nil nil nil asked)
(mew-draft-mode)
(end-of-buffer)
(save-excursion
(insert "----------- Original Message ---------\n")
(insert "Subject: ") (insert msg-subject) (insert "\n")
(insert "Date: ") (insert msg-date) (insert "\n")
(insert "From: ") (insert msg-from) (insert "\n")
(insert "To: ") (insert msg-to) (insert "\n")
(insert "\n\n")
(mew-draft-yank)))))))
;; ------------------------------------------ ;;
;;using w3m
(when (locate-library "w3m")
(require 'w3m)
(condition-case nil
(require 'mew-w3m)
(file-error nil))
)
;;; END ;;
syntax highlighted by Code2HTML, v. 0.9.1