Skip to content

Instantly share code, notes, and snippets.

@miwarin
Created May 9, 2018 16:14
Show Gist options
  • Save miwarin/be3d2f6f415fdb7ac6f420838ff8ad7f to your computer and use it in GitHub Desktop.
Save miwarin/be3d2f6f415fdb7ac6f420838ff8ad7f to your computer and use it in GitHub Desktop.
Mew
;; -*- coding: iso-2022-7bit -*-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Mew
;; メールリーダー Mew
;; M-x mew で起動します
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Mewのデバッグ
(setq mew-debug t)
;; 既読メールにマーク
(setq mew-use-read-mark nil)
;; 未読メールにマーク
(setq mew-use-unread-mark t)
(setq mew-use-overlay-keymap nil)
;(setq mew-prog-uumerge "uudecode")
;; 70 文字で改行
(add-hook 'mew-draft-mode-hook
'(lambda ()
(auto-fill-mode 70)))
;; bsfilter で spam フィルタ
;; http://bsfilter.org/mew.html
; put "D"
(defun mew-spam-bsfilter (val)
(let ((case-fold-search t))
(if (string-match "yes" val) ?D)))
; put "o +sapm" at inc
;(defun mew-spam-bsfilter (val)
; (let ((case-fold-search t))
; (if (string-match "yes" val) "+spam")))
(setq mew-inbox-action-alist
'(("X-Spam-Flag:" mew-spam-bsfilter)))
; for "ls" (learn-spam)
(setq mew-spam-prog "bsfilter")
(setq mew-spam-prog-args '("-C" "-s" "-u"))
; for "lh" (learn-ham)
(setq mew-ham-prog "bsfilter")
(setq mew-ham-prog-args '("-c" "-S" "-u"))
; for "bm" (mark-spam)
(define-key mew-summary-mode-map "bm" 'mew-summary-bsfilter-mark-region)
(defun mew-summary-bsfilter-mark-region (&optional arg)
"study/judge the region and put the '*' mark onto spams.
need to re-learn if judgment of bsfilter is wrong"
(interactive "P")
(mew-pickable
(let ((func 'mew-summary-pick-with-cmd)
(mew-inherit-grep-cmd "bsfilter -a --list-spam"))
(mew-summary-pick-body func t nil 'nopattern))))
; show X-Spam-Flag and X-Spam-Probability in message buffer
(setq mew-field-spec
(reverse (append (list (car (reverse mew-field-spec)))
'(("^X-Spam-Probability:$" t)
("^X-Spam-Flag:$" t))
(cdr (reverse mew-field-spec)))))
;; キーバインド
(add-hook 'mew-summary-mode-hook
(function (lambda ()
(define-key mew-summary-mode-map
"\C-h" 'mew-summary-prev-page)
)))
;; mg を使って pick
(setq mew-prog-grep "mg")
(setq mew-prog-grep-opts '("-j" "jis" "-l" "-e" "-x" "&mime"))
;; virtual mode で mg pick
;(setq mew-prog-vgrep "mg")
;(setq mew-prog-vgrep-opts '("-j" "jis" "-l" "-e" "-x" "&mime"))
;;メールが来たりて biff が鳴く
(setq mew-use-biff t)
(setq mew-use-biff-bell t)
;; mew-w3m
(require 'mew-w3m)
(setq mew-prog-html '(mew-mime-text/html-w3m nil nil))
(setq mew-use-w3m-minor-mode t)
(add-hook 'mew-message-hook 'mew-w3m-minor-mode-setter)
;; fancy summary
(add-hook 'mew-init-hook (lambda () (require 'mew-fancy-summary)))
(setq mew-use-highlight-cursor-line t)
(setq mew-use-highlight-mouse-line t)
(setq mew-use-highlight-mark t)
(setq mew-use-highlight-header t)
(setq mew-use-highlight-body t)
(setq mew-use-highlight-url t)
(setq mew-use-highlight-x-face t)
(setq mew-smtp-user nil) ;; SMTP-AUTH で使用する
(setq mew-use-smtp-auth nil)
;; case を選択する。
(setq mew-config-guess-alist
'(("From:"
("biglobe.ne.jp" . "biglobe")
("mari-off.gr.jp" . "mari-off"))))
(setq mew-config-alist
'(
("default"
("name" . "Susumu Miwa (三輪 晋)")
("inbox-folter" . "+inbox")
("draft-folder" . "+draft")
("trash-folder" . "+trash")
("pop-delete" . t)
)
("mari-off"
("user" . "rin")
;; ("mail-domain" . "210.150.222.37")
;; ("smtp-server" . "210.150.222.37")
;; ("pop-server" . "210.150.222.37")
("mail-domain" . "mari-off.gr.jp")
("smtp-server" . "mail.mari-off.gr.jp")
("pop-server" . "mail.mari-off.gr.jp")
;; ("pop-server" . "localhost")
;; ("pop-port" . "10110")
("pop-auth" . apop)
("pop-user" . "rin")
("smtp-user" . nil) ;; SMTP-AUTH で使用する
("mew-nntp-user" . "rin")
)
("biglobe"
("user" . "s_miwa")
("mail-domain" . "mva.biglobe.ne.jp")
("smtp-server" . "mva.biglobe.ne.jp")
("pop-server" . "mva.biglobe.ne.jp")
("smtp-mail-from" . "s_miwa@mva.biglobe.ne.jp")
("mew-nntp-user" . "s_miwa")
("pop-user" . "s_miwa")
("pop-auth" . pass)
)
("maripara"
("user" . "rin")
;; ("mail-domain" . "203.141.151.113")
;; ("smtp-server" . "203.141.151.113")
;; ("pop-server" . "203.141.151.113")
("mail-domain" . "maripara.jp")
("smtp-server" . "pure.maripara.jp")
("pop-server" . "pure.maripara.jp")
("pop-auth" . pass)
("pop-user" . "rin")
)
("kamome"
("user" . "rin")
("mail-domain" . "kamome.or.jp")
("smtp-server" . "mail.kamome.or.jp")
("pop-server" . "pop.kamome.or.jp")
;; ("pop-server" . "localhost")
;; ("pop-port" . "10110")
("pop-auth" . pass)
("pop-user" . "rin")
)
("area51"
("user" . "rin")
("mail-domain" . "area51.gr.jp")
("smtp-server" . "area51.gr.jp")
("pop-server" . "area51.gr.jp")
("pop-auth" . apop)
("pop-user" . "rin")
)
("wk"
("user" . "susumu_miwa.eng.sanwaelectro.co.jp")
("mail-domain" . "eng.sanwaelectro.co.jp")
("smtp-server" . "mbox.iij.ad.jp")
("pop-server" . "mbox.iij.ad.jp")
("pop-auth" . apop)
("pop-user" . "susumu_miwa.eng.sanwaelectro.co.jp")
("from" . "susumu_miwa@eng.sanwaelectro.co.jp")
("pop-delete" . nil)
)
;; ("localhost"
;; ("user" . "rin")
;; ("pop-auth" . pass)
;; ("pop-user" . "rin")
;; ("mailbox-type" . maildir)
;; ("mbox-command" . "incm")
;; ("mbox-command-arg" . "-d /home/rin/Maildir")
;; )
)
)
;; 草稿を用意した時点で "Config:" を入力する。
;(setq mew-config-insert-when-prepared nil)
;; C-m した時点で "Config:" を入力する。
;(setq mew-config-insert-when-composed t)
;; signature を挿入する。
(setq mew-signature-insert-last t)
(setq exec-path (cons "/usr/local/bin/mh" exec-path))
(setq exec-path (cons "/usr/local/lib/mh" exec-path))
(autoload 'mew "mew" nil t)
(autoload 'mew-read "mew" nil t)
(autoload 'mew-send "mew" nil t)
(autoload 'mew-user-agent-compose "mew" nil t)
(if (boundp 'mail-user-agent)
(setq mail-user-agent 'mew-user-agent))
(if (fboundp 'define-mail-user-agent)
(define-mail-user-agent
'mew-user-agent
'mew-user-agent-compose
'mew-draft-send-letter
'mew-draft-kill
'mew-send-hook))
;; ML と From: の双方にメールをださないように
;; http://www.mew.org/release/info/mew_34.html.ja#SEC34
(setq mew-reply-all-alist
'((("Followup-To:" "poster")
("To:" "From:"))
("Followup-To:"
("Newsgroups:" "Followup-To:" "Newsgroups:"))
("Newsgroups:"
("Newsgroups:" "Newsgroups:"))
("Reply-To:"
("To:" "Reply-To:")
("Cc:" "To:" "Cc:" "Apparently-To:"))
(t
("To:" "From:")
("Cc:" "To:" "Cc:" "Apparently-To:"))))
(setq mew-reply-sender-alist
'(("Reply-To:"
("To:" "Reply-To:"))
(t
("To:" "From:"))))
; 起動時の設定
;; POP サーバをメールを取りに行かないようにする
(setq mew-auto-get nil)
(setq mew-window-use-full t)
(setq mew-file-max-size 10000000) ;; 10MB
(setq mew-charset-m17n "iso-2022-jp-2")
(setq mew-pop-size 0)
(setq mew-cite-fields '("From:" "Subject:" "Date:"))
(setq mew-cite-format "From: %s\nSubject: %s\nDate: %s\n\n")
;;(setq mew-cite-prefix-function 'mew-cite-prefix-username)
;;(setq mew-draft-cite-fill-mode 'wrap)
;;(setq mew-draft-cite-label-fill-column 70)
(setq mew-use-fancy-thread t) ;; nil
(setq mew-fancy-thread-indent-strings
["├" "└" "│" " "]) ;; [" +" " +" " |" " "]
(setq mew-use-thread-separator t) ;; nil
(setq mew-thread-separator "--")
;Select coding system: (default iso-2022-jp):
;と訊かれないようにするらしい。
;(cond
; (running-Emacs20
; (add-hook 'mew-draft-mode-hook
; '(lambda ()
; (set-buffer-file-coding-system 'iso-2022-jp)))
;))
;;いつも入れて欲しいヘッダ。
(setq mew-header-alist
'(
;; ("X-Moe:" . "田中かほり")
("Organization:". "Area51 , Tanaka Kahori Improvement Committee")
)
)
;; 自動整理整頓を制御するらしい。
(defvar mew-refile-guess-control
'(mew-refile-guess-by-alist
mew-refile-ctrl-throw
mew-refile-guess-by-newsgroups
mew-refile-guess-by-folder
mew-refile-ctrl-throw
mew-refile-ctrl-auto-boundary
mew-refile-guess-by-thread
mew-refile-ctrl-throw
mew-refile-guess-by-from-folder
mew-refile-ctrl-throw
mew-refile-guess-by-from
mew-refile-ctrl-throw
mew-refile-guess-by-default))
;; 整理整頓。^^;
(setq mew-refile-guess-alist
'(("X-M[Ll]-Name:"
("gonchi-ml" . "+ml/gonchi")
("ECC eventer Mailing List" . "+ml/eventer")
("port139ml" . "+ml/port139ml")
("ruby-list" . "+ml/ruby-list")
("debian-users" . "+ml/debian-users")
("elec" . "+ml/elec")
("WinXP" . "+ml/winxp")
("connect24h" . "+ml/connect24h")
("cppll" . "+ml/cpll")
("Megumi Island Offline Meeting ML" . "+ml/megumi-off")
("quickml-users" . "+ml/quickml-users")
("moz-users" . "+ml/moz-users")
("hns-users" . "+ml/hns-users")
("maripara-usr" . "+ml/maripara-usr")
("ELF" . "+ml/ELF")
("Delphi" . "+ml/Delphi")
("Kansai Event Active Mailing List" . "+ml/kea")
("memo" . "+ml/memo")
("mari-ml" . "+ml/mari")
("netbsd" . "+ml/netbsd")
("tamago" . "+ml/tamago")
("k-tai" . "+ml/k-tai")
("Windows" . "+ml/windows")
("Win2k" . "+ml/win2k")
("VB" . "+ml/vb")
("Kasahara Hiroko Mailing List" . "+ml/hiroko")
("Hitomi Mieno ML (Truffle DE Net)" . "+ml/mieno")
("Hayashibara Megumi Mailing List" . "+ml/megumi")
("iomail" . "+mail-news")
("Res.Com.for Mariko Kouda" . "+ml/MarikoMuseum")
("sakurata" . "+ml/sakurata")
("Kurata Masayo Mailing List" . "+ml/kuratamasayo")
("yukarin" . "+ml/yukarin")
("Nodajun" . "+ml/nodajun")
("linux-users" . "+ml/linux-users")
("Mew-dist" . "+ml/mew-dist")
("hoehoe" . "+ml/hoehoe")
("plamo". "+ml/plamo")
("linux98" . "+ml/linux98")
("van" . "+ml/van")
("MARI-OFF-RC5" . "+ml/mari-off-rc5")
("Horie Yui ML" . "+ml/YuiHorie")
("linux-new" . "+ml/linux-new")
("ppxp-info" . "+ml/ppxp-info")
("Maaya Sakamoto Mailing list" . "+ml/MaayaSakamoto")
("Tange Sakura Mailing List" . "+ml/TangeSakura")
("sufary" . "+ml/sufary")
("qvwm-e" . "+ml/qvwm")
("fw-novice". "+ml/fw-novice")
("zphoto". "+ml/zphoto"))
(".*Sender:"
("tdiary-devel-admin@lists.sourceforge.net" . "+ml/tdiary-devel" )
("linux98-users-admin@lists.sourceforge.jp" . "+ml/linux98-users")
("owner-cvs-all@FreeBSD.ORG" . "+ml/cvs-allFreeBSD")
("owner-freebsd-current@FreeBSD.ORG" . "+ml/currentFreeBSD")
("owner-acpi-jp@jp.FreeBSD.org" . "+ml/acpi-jpFreeBSD")
("charm-owner@ml-c6.infoseek.co.jp" . "+ml/charm")
("fiva-owner@ml-b7.infoseek.co.jp" . "+ml/fiva")
("prits-owner@ml-c5.infoseek.co.jp". "+ml/prits")
("owner-vcpp@mserver.catnet.ne.jp" . "+ml/vcpp")
("owner-ai-ml@mlc.nifty.com" . "+ml/ai")
("saki-owner@ml-b1.infoseek.co.jp" . "+ml/saki")
("owner-rt-users-broadcast@iijnet.or.jp" . "+ml/rt-users")
("omigakuen-owner@c5.easyml.com" . "+ml/omigakuen")
("ayashii-owner@mari-off.gr.jp" . "+ml/ayashii")
("owner-FreeBSD-users-jp@jp.freebsd.org" . "+ml/free-bsd-users-jp")
("area51-owner@ml-b5.infoseek.co.jp" . "+ml/area51")
("seiha-owner@bo.st48.arena.ne.jp" . "+ml/seiha")
("nuts@po.oreilly.co.jp (Unverified)" . "+mail-news")
("owner-kouda-ml@iijnet.or.jp" . "+ml/kouda")
("owner-hacker@netsrv.asis.ne.jp" . "+ml/hacker")
("owner-mari-off@lint.ne.jp" . "+ml/mari-off")
("off-line-owner@b6.easyml.com" . "+ml/off-line")
("concert-owner@b6.easyml.com" . "+ml/concert")
("long-owner@c3.easyml.com" . "+ml/long"))
("charm-owner@ml-c6.infoseek.co.jp" . "+ml/charm")
("To:"
("kanon@ml-1.plala.or.jp" . "+ml/kanon")
("ml@ecc.zive.net" . "+ml/eventer")
("yumi@ml.tam.ne.jp" . "+ml/yumi")
("bsd-nomads@clave.gr.jp" . "+ml/free-bsd-nomads"))
("X-Sequence:"
("seraphim-bugs" . "+ml/seraphim-bugs"))
("X-Mail-Magazine-Name:"
("STARCHILD-MAIL3" . "+mail-news"))
("X-ML-maintainer:"
("owner-announce-jp@jp.FreeBSD.org" . "+ml/free-bsd-announce"))
("From:"
("Microsoft" . "+mail-news")
("monthlymail@swmail.jp" . "+mail-news")
("nikkeibp.co.jp" . "+mail-news")
("mag2" . "+mail-news")
("news@akihabara.or.jp" . "+mail-news")
("info@jpcert.or.jp" . "+mail-news")
("1umacky.nifty.ne.jp*" . "+mail-news")
("cplaza.ne.jp" . "+mail-news")
("info@freeml.com" . "+mail-news")
("iomail@iodata.co.jp" . "+mail-news")
("ips.co.jp" . "+mail-news")
("realnet.co.jp" . "+mail-news")
("impress.co.jp" . "+mail-news")
("bcs.biglobe.ne.jp" . "+mail-news")
("newml@freeml.com" . "+mail-news")
("cplaza.ne.jp" . "+mail-news")
("vbcs@trendmicro.co.jp" . "+mail-news")
)
("Subject:"
("ZDNet\\|CNET\\|Linux Japan Express\\|SETI@home newsletter\\|Perl Newslette\\|Aniraji Mail De News" . "+mail-news")
("madoka-log" . "+chatlog")
)
)
)
;; Messageモードの設定
(if window-system
(progn
(setq mew-use-highlight-x-face t)
(setq mew-use-highlight-x-function
'x-face-decode-message-header)
))
;; 外部ファイルビューワの設定
;;(if window-system
;; (progn
;; (setq mew-prog-bmp '("/usr/X11R6/bin/xv" ("--geometry" "+0+0") t))
;; (setq mew-prog-gif '("/usr/X11R6/bin/xv" ("--geometry" "+0+0") t))
;; (setq mew-prog-image '("/usr/X11R6/bin/xv" ("--geometry" "+0+0") t))
;; (setq mew-prog-jpeg '("/usr/X11R6/bin/xv" ("--geometry" "+0+0") t))
;; (setq mew-prog-pdf '("/usr/bin/gv" ("-geometry" "+0+0") t))
;; (setq mew-prog-postscript '("/usr/bin/gv" ("--geometry" "+0+0") t))
;; (setq mew-prog-png '("/usr/X11R6/bin/xv" ("--geometry" "+0+0") t))
;; (setq mew-prog-tiff '("/usr/X11R6/bin/xv" ("--geometry" "+0+0") t))
;; (setq mew-prog-xbm '("/usr/X11R6/bin/xv" ("--geometry" "+0+0") t))
;; (setq mew-prog-xpm '("/usr/X11R6/bin/xv" ("--geometry" "+0+0") t))
;; (setq mew-prog-xwd '("/usr/X11R6/bin/xv" ("--geometry" "+0+0") t))
;; (setq mew-x-face-prog "/usr/X11R6/bin/xfaces")
;; (setq mew-x-face-args nil)
;; ))
;; Addrbookモードの設定
(setq mew-addrbook-strip-domainpart t)
(setq mew-use-imget-assoc t) ;; get先をモードラインに表示する。
(setq mew-use-cached-passwd t) ;; POPパスワードをキャッシュする。
;; MIMEデコードの設定
(setq mew-decode-quoted t)
(setq mew-summary-trace-directory nil)
;; メッセージ転送のための設定
(setq mew-field-delete-for-forwarding
'(
"Received:"
"Return-Path:"
))
;; ダブったメールに X がつく
(setq mew-summary-form-mark-delete mew-mark-unlink)
;;[Mew] For your .mew file:
;;-------------------------
;;(cond ((featurep 'xemacs)
;; ;;
;; )
;; ((eq emacs-major-version 21)
;; (setq mew-use-highlight-x-face t
;; mew-use-highlight-x-face-function 'x-face-decode-message-header)
;; (define-key mew-summary-mode-map "\C-x4s" 'x-face-save)
;; (define-key mew-draft-mode-map "\C-x4i" 'x-face-insert)
;; (define-key mew-draft-header-map "\C-x4i" 'x-face-insert)
;; (define-key mew-draft-mode-map "\M-t" 'x-face-show)
;; (define-key mew-draft-header-map "\M-t" 'x-face-show)
;; ;;
;; ;; If a file name has no directory component, it should be
;; ;; found in the directory which is specified by the option
;; ;; `x-face-image-file-directory'.
;; (setq x-face-default-xbm-file "YourFace.xbm")
;; ;;
;; (add-hook 'mew-draft-mode-hook 'x-face-insert))
;; (t
;; ;;
;; ))
;;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment