2005-05-18

Mew で Gmail を使う |Gmail|Emacs|Mew|FedoraCore2|

EH さんの紹介で Gmail のアカウントを手に入れた (EH さん、ありがとう!)。で、Mew 使いの T-Code 使いとしては、当然 Emacs 上で Gmail のメールを見たり書いたりしたいのだけど、この設定にかなり苦戦した。役に立つ事もあると思うので、その記録を残しておく。

やりたい事

Gmail に届いたメールを、POP でゲットして Mew で読みたい。Mew でドラフトを書いて、Gmail の SMTP からメールを発信したい。

環境

  • OS: GNU/Linux FedoraCore2
  • GNU Emacs 22.0.50 of 2005-03-15 (開発版)
  • Mew 4.2.50 (開発版)

常用のコンピューターはファイヤーウォールの中にある。今回は、ssh の port forward を使って対処した。仮に次のような環境にいるとして読んで下さい。

  • ssh でトンネルするマシン: foo.bar.ne.jp

メール・アドレスは、スパム対策のため秘密。ここでは nemo@gmail.com とします (注: Gmail では 6 文字以下のメール・アカウントは作れない)。

設定

まず、gmail 側の POP ポート 995 と SMTP ポート 465 を、foo.bar.ne.jp を経由して自分のマシンのポート 10995 と 10465 に ssh で port forward する。port forward は、ログインする度に必要?

$ ssh -f -N -L 10995:pop.gmail.com:995 foo.bar.ne.jp
$ ssh -f -N -L 10465:smtp.gmail.com:465 foo.bar.ne.jp

Mew の設定は .mew.el に次の様に書く。

(setq mew-ssl-verify-level 0)
(setq mew-config-alist
      '(;; config alist
        ("gmail"
         ("user"          . "nemo")
         ("mail-domain"   . "gmail.com")
         ("pop-user"      . "nemo@gmail.com")
         ("pop-ssl"       . t)
         ("pop-delete"    . nil)
         ("pop-server"    . "localhost")
         ("pop-ssl-port"  . "10995")
         ("smtp-user"     . "nemo@gmail.com")
         ("smtp-ssl"      . t)
         ("smtp-server"   . "localhost")
         ("smtp-ssl-port" . "10465")
         )
        ("default"
         ("user"        . "ataka")
         ("mail-domain" . "milk.free.mail.ne.jp")
         ... 以下略 )
))

以上で、設定はお終い。M-x mew でメールの送受信ができるようになるはず。Mew から送ったメールは、Gmail の「送信済みメール」の中に入る。ただし、From フィールドが Gmail 側の設定に上書きされてしまう。今の所、書き換えを抑制する方法はないようだ。

Fedora Core 2 の場合

FC2 を使っていると、stunnel が動いてくれない。この問題は mew-dist ML でも議論されている ([mew-dist 25404] から始まるスレッド)。中村さんの報告によると、原因は Emacs から start-process されたプロセスが signal 1 を受け取って死んでしまうことにあるらしい。解決策は、次のような shell script を書いて

#!/bin/sh
/usr/sbin/stunnel $@

~/bin に stunnel という名前で放り込んでおき、Mew からは .mew.el でパスを指定する。

(setq mew-prog-ssl "~/bin/stunnel")

FedoraCore3 でこの問題が fix されているのかどうか知らないが、逃げ道はあるという事だね。あと、mew-ssl-verify-level を 0 以外にした時の設定をしたいのだけど、やり方が分からない。調べはしたけど、無知が災いしてか見当もつかない。設定方法を知ってる方、教えて下さい。

2 comments:

  1. Gmailを有効に使用させてもらっています。
    最近迷惑メールが沢山入ってきているので
    Gmailをいじったら受信は出来るのですが
    送信が出来なくなり送信するとゴミバコに
    入ってしまいます。初期の状態に回復させたいのですがご教示ください。

    ReplyDelete
  2. 寿太郎さん、こんにちは。

    さて送信が出来なくなったということですが、mew の設定が問題か、Gmail の設定が問題かがまず分かりません。

    例えば、mew 以外のメーラーで送信が出来るかどうかを試して、mew に原因ありと分かれば、mew ML に .emacs (.mew) の中見をコピーして助言を求めるのが早いと思います。

    メーラーに関係なくメールが送れないようなら、Gmail の設定でしょう。Forward (転送) の設定で、ゴミ箱に移すようになっていないかどうかを調べてみてはどうでしょう。それで駄目なら、Filter 設定が怪しいかと思います。

    ReplyDelete