1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MacでEmacs+Mew

1
Posted at

メールクライアント

メールアプリは、Emacs上でMewを起動して使っています。Emacsがクロスプラットフォーム対応なので、OSが違っても同じメールソフトが使えるので。
ときどき、受信したメールの添付ファイルが取り出せなかったり、文字化けしたりすることがあります。自分が困る分には、自分で対応できることもあるのですが、自分のメールが相手に迷惑をかけるようなことは避けたいので、そういった点で安心できるというのはあります。

Emacsのインストール、設定

インストール

Emacsは
https://emacsformacosx.com/

から*.dmgファイルをダウンロードしてきて、インストールします。

設定

Emacsを使う前に、~/.emacs.d/init.elを作成し、以下の内容を記入しました。

;; for packages
(require 'package)
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages") t)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages") t)
(package-initialize)
(when (null package-archive-contents)
  (package-refresh-contents))

;; for Japanese use
(set-language-environment "Japanese")
(prefer-conding-system 'utf-8)

;; for mew
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
(autoload 'mew-user-agent-compose "mew" nil t)

Mewのインストール、設定

パッケージからインストール

MewはEmacsのパッケージ管理ツールからインストールします。Emacsを起動して、

M-x package-list-packages

とすると、パッケージ管理ツールからインストールできるパッケージの一覧が表示されます。その中から、Mewのパッケージにカーソルを持って行って、"i"をキー入力します。すると、パッケージ行の先頭に"I"が表示されるので、xをキー入力します。
バッファに、インストールの確認メッセージが現れるので、"y"を入力すると、パッケージがインストールされます。パッケージは、~/.emacs.d/elpaの下に、mew-20260425.817のディレクトリが作られ、その下にインストールされます。

設定

~/.mew.elを作成してmewでメールを送受信する設定(以下は一例)を記入しました。

(setq mew-name "user name")
(setq mew-config-alist
      '((mymail                    ;; mail set
   (user "user")                   ;; user@mail.com
   (mail-domain "mail.com")        ;; 
   (smtp-server "smtp.server.com") ;; smtp server
   (smtp-ssl t)
   (smtp-ssl-port 1465)
   (pop-user "user")               ;; pop login name
   (pop-server "pop.server.com")   ;; pop server
   (pop-ssl t)
   (pop-ssl-port 995)
   (pop-size 0)
   (pop-delete t))                 ;; delete message from server
))

(setq mew-auto-get nil)
(setq mew-use-unreadmark t)
(setq mew-use-cached-passwd t)
(setq mew-use-text/html t)
(setq mew-mime-multipart-alternative-list
      '("text/html" "text/plain" "."))

(setq mew-summary-form
      '(type (4 year) "/"
	   (5 date) " "
	   (5 time) " "
	   (14 from) " "
	   (30 subj) "|"
	   (0 body)))

stunnelのインストール

smtp-ssl t, pop-ssl tとしているので、stunnelが必要になります。これはbrewでインストールします。一応、ここまでできると、Mewでメールの送受信ができるようになります。

Mewのバイナリのインストール

メールの送受信はできるのですが、日本語が化けます。これは、mewdecode、mewencodeがないためです。
EmacsのパッケージからMewをインストールすると、elispにmew-decode.elやmew-encode.elはインストールされるのですが、バイナリのmewdecode、mewencodeはインストールされません。
バイナリを作るには、Mewの本家HP(https://www.mew.org/ja/)からソースコードを持ってきてコンパイル、インストールします。
EmacsのパッケージからMewをインストールせずに、初めからソースをコンパイル、インストールすればいいのですが、ここでは必要なバイナリだけを作ることにします。ソースファイルをダウンロードして、

tar -xvf mew-6.10.tar.gz

で展開します。展開されたディレクトリmew-6.10に移動して、そこでコンパイルします。

./configure --with-emacs=/Applications/Emacs.app/Contents/MacOS/Emacs
make

インストールまでするのであれば、./configureでインストール先のディレクトリを指定しますが、コンパイルまでなので指定しません。makeの後、make installすると、configureで生成されたMakefileにしたがって、インストールされます。でも、makeまででbinディレクトリにこのようなバイナリファイル(-rwxr-xt-x)が生成されています。

mewcat
mewdecode
mewencode
mewl

make installせずにこれらのバイナリファイルをPATHが通ったところに置けばよいです。.emacs.d/init.elに

(add-to-list 'exec-path "バイナリを置いた場所")

を追加すれば、日本語が文字化けせずに読めるようになります。

面倒かも知れない

ソースから、configure、make、make installするのが普通かも知れません。このmake installの時に、インストール先のディレクトリはMakefileに書かれている(configureでも指定できる)ので、そこを編集すれば任意の場所にインストールできます。

./configure --prefix=/Users/user/.emacs.d/mew --with-elispdir=~/.emacs.d/mew/elisp --with-etcdir=~/.emacs.d/mew/etc

ログイン名がuserの場合は、上記の指定で、.emacs.d/mewの下にインストールできます。
でも、最初にEmacsのパッケージ管理ツールを使ったので、どうすればいいかとやっていてこんなやり方になってしまいました。おかげで、Mewのソースからconfigure, make, make installで何がどこにインストールされるのかが分かりました。使えればいいと割り切って、盲目的に、

./configure
make
make install

でいいのかも知れませんが、やはりそれでは気持ち悪いと思ってしまいます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?