1月 232009
 

さてと。話せば長いのであります。mew では IMAP4 や POP3 に対して SSL で接続できます。 ~/.mew の設定や ~/.certs/ に必要なファイルをほーりこむ設定については他のウェブページに譲りたいと思います;-)。

ここでは、他のウェブページを見て設定しても接続できない人がきっと参照してくれることでしょう。と、言う感じでまとめます。特に FreeBSD の ports から stunnel をインストールした人向けです。

最初に答えを言いましょうっ!!。 /etc/hosts.allow で localhost の stunnel のポートを許可しないと接続できませんっ!! /etc/hosts.allow に以下の設定をしている人は mew での SSL 接続がきっとできないことでしょうっ!!

#ALL : ALL : allow

 
さてと。それでは順番に見ていくことにしましょう。 FreeBSD を利用している人は大体 ports から必要なものをインストールするかと思います。emacs+mew で SSL な POP3 もしくは IMAP4 なサーバに接続しようとした時は /usr/ports/security/stunnel が必要なので、サクッと make install しておしまい。で、早速テスト。って感じかと思います。

mew が SSL するときは stunnel 用の設定ファイルを /tmp/takachan88831JOY/mew88831rod みたいな感じで作成します。このファイルが stunnel のオプションになるわけですが、中身は以下のようになっています。

client=yes
pid=
verify=0
foreground=yes
debug=debug
syslog=no
CApath=/home/takachan/.certs
[10841]
accept=127.0.0.1:10841
connect=mail.running-dog.net:993

 
mail.running-dog.net のポート 993 番に接続するための SSL トンネルは localhost の ポート 10841 に telnet して確認できます。まぁ、mew が IMAP4 を叩くポートが 10841 と言うことですね。これは解りやすい。

で、実際に telnet 127.0.0.1 10841 しても SSL トンネルをまるで抜けていきません。おかしいなぁ。と思って色々調べてみると、原因は stunnel が libwrap をリンクしていると言うことなんですね。これが解るまでに四時間位かかりました。orz。

mew 側の設定で localhost のポート番号を設定できるのか?もし設定できるのであれば、そのポートだけを /etc/hosts.allow で設定すれば良いと思いソースを見て調べてみましたが、どうやらできないみたいです。mew-6.2.50 の mew-ssl.el では 130 行目辺りで localport を mew-random を利用して生成しているみたいです。と、言うことで、mew 側ではどうやら設定不能みたいです。

続いて、/etc/hosts.allow に stunnel: ALL : allow とか stunnel4: ALL : allow など色々試しに設定してみたのですが、inetd 経由や デーモンモードで動作する stunnel では有効になるのですが、コマンドベースで利用した場合の /etc/hosts.allow の記述方法が解りませんでした・・。トホホ。

それならば、と言うことで stunnel の Changelog やらソースを眺めますが、おぉっっ!! configure オプションに –disable-libwrap と言うのがあるではないですかっ!! すんばらしい。とは言いつつ、FreeBSD の ports では –disable-libwrap を選択できるオプションが無いのでありました。無条件で libwrap はリンクされてしまう。トホホ。

と、言うことで –disable-libwrap を選択できる ports を作成しました。使いたい方は利用してください。

ports-stunnel-disable-libwrap-20090123.tgz

まぁ、Makefile をチロッと直しただけなんですけどね。

これで安心して mew で SSL が利用できることでしょう。まずは良かった。良かった。

けど、解決策はそんなんで良いのかなぁ? mew 側で吸収すべきか stunnel 側で吸収すべきか。どっちが良いのかなぁ・・。kazu さん 的にはきっと、libwrap を off にしましょう。って言うような気が、しないでもないこともないと、僕は思うのですけどねぇ・・。

9月 252008
 

僕は FreeBSD をデスクトップ環境にしているのでメールの読み書きは emacs+mew と言う環境です。でもって、メールサーバには imap4 も持っているのだけど POP3 もあるので、メールは一台のマシン上に保存するために POP して mew で保存している。

mew で POP してクライアント側で保存することのどこが良いか?と言われれば、一つのメールが一つのファイルになる点かな。まぁ、imap4 に courier-imap を利用すれば 一つのメールが一つのファイルとして imap4 上に保存できるのだけどね。

今日はクライアントのお話。imap4 及び POP3 サーバのことは出てきません。

さて、mew を使い初めてもう 10 年以上経つのだけど、最近は spam が多すぎて困っていた。 今までは自分でシコシコ mew-refile-guess-alist を書いて M-o で振り分けていたのだけど、もう限界に来た。メールサーバ上で spam フィルタを入れるのは大変だし、自分の管理していないメールサーバだともっと無理だし。

と、言うことでクライアント側でなんとかしなければならないのだけど・・。

で、考えたのが Thunderbird の「迷惑メールフィルタ」。サーバに対して imap4 を利用し Thunderbird で接続し、「迷惑メールフィルタ」を実行します。迷惑メールは Spam フォルダに振り分けられるので、その後 mew で POP すれば必要なメールだけが POP できると考えたのだけど・・。

Thunderbird って imap4 を利用すると、自分で管理している場合は順調なのだけど、その状態をサーバには送らないので、Thunderbird 上では綺麗にフォルダを振り分けられているのだけど、他の MUA から imap4 で覗くともうぼろぼろなのね。でもって mew で POP しても、せっかく迷惑メールフォルダに振り分けたメールもぜーーーんぶっ!! POP してきてしまう。というとんでもない仕様なのでうんざり・・。

僕は MocOSX ユーザでもあるので AppleMail も使うのだけど、こいつには「同期」と言うメニューがあるのでそれを選択すると、そのタイミングでサーバとクライアントソフトが同期してくれるのでまだましかな。

Thunderbird の動作、こんなんじゃ全然ダメじゃん。とか思うのだけど、修了時にはサーバ同期してくれるみたい。つまり、「迷惑メールフィルタ」を実行した後、一旦 Thunderbird を終了させるわけですね。うがーーっ!! やっぱりタメダメじゃん。about:config できっと設定できるのだろうな。とは思うのだけど、あんな、説明がなぁんも無い MIB をいちいち見ることなんて絶対やんないし・・。

と、言うことで早速調査開始。そしたら、有りましたよ。mail.imap.expunge_after_delete と言う MIB の値を true に変更すると良いみたいです。[設定]から「詳細」メニューの[一般]タブにある[設定エディタ]を押してから上記 MIB を検索し値を true に返るとぐーです。

早速変更して試してみましたがっ!!

おぉーっ!! 僕が思ったとおりに動くっ!!感動っ!! と、言うことで動作的には、届いたメールに対して Thunderbird でアクセスします。 imap4 を使って。でもって「迷惑メールフィルタ」が実行され、迷惑メールは「迷惑メール」フォルダにどんどん溜まっていきます。「受信トレイ」が随分とすっきりします。

その後、mew から POP3 でメールサーバにアクセスします。でもってメールを取り込んでみると、おーー。「受信トレイ」の中のメールしか POP してこないじゃないですかー。これがやりたかったのよ。

迷惑メールの振り分けは Thunderbird で。必要なメールの管理と送信は mew で。って感じで利用することにしましょー。

ただ、Thunderbird は本来の使い方がされないのでちと悲しいのだろうなぁ;-)。

2008/09/26 追記
やはり、Thunderbird は mozilla 系のアプリケーションだけあって、KDE3 上ではメニューフォントとか、フォルダのフレーム、メールの一覧はどでかいフォントで表示されてしまいますなぁ。

でもって[設定]からフォントのサイズが指定できるのはメールの本文に対してだけだしぃ・・。これじゃダサダサだぁ・・。about:config でもフォントの設定が沢山あるみたいだけど、どれがどれやら解らない・・。

と、言うことで Firefox と同じフォントの設定を書いてみた。と、言うかもっとラクチンに symlink 張ってみたら、あぁら。無事に小さくなったわ;-)。

以前、firefox でフォントの設定をした のだけど、その設定がそのまま Thunderbird でも使えます。

$ cd ~/.thunderbird/乱数ディレクトリ/
$ ln -s ~/.mozilla/firefox/乱数ディレクトリ/chrome

 
これで OK です。後は Thunderbird を再起動すればフォントが小さくなることでしょう。めでたしめでたし。

それにしても、未読メールがボールドフォントってのが気にくわないなぁ。Apple Mail みたいに色で指定できないのかしら・・。

4月 132007
 

emacs22+mew と言うのがぼくのメールを読む環境なんだけど、 Mew version 5.2.50 で Punycode に対応したみたいです。試してみるとこれがまた・・。

メール本文(mew では message バッファと呼んでいます)にある http://xn--w8j2bze0962a.jp/ が、ちゃんと http://もつ焼き.jp/ と表示されるようになった。すごいなぁ。その URL をクリックするとちゃんとブラウザも起動する所が偉い;-)。

ただ、From:・To:・Cc: などの takachan@xn--w8j2bze0962a.jp は変換してくれないみたい・・。ちょっと ML で かずさん に聞いてみよう。

で、話は自然と「国際化ドメイン名」に行くんだけど、firefox ってすごいなぁ。と再確認。

「もつ焼き。JP」とか、「もつ焼き.JP」って言うのをちゃんと変換して表示してくれるのね。これには驚き。技術的には NAMEPREP による正規化をしてから、Punycode による変換を行い ASCII コードで DNS に問い合わせられる。でもってちゃんと表示してくれる。すごいなぁ。

もつ焼き。JP (firefox でクリックしてみてください)

↓ NAMEPREP による正規化

もつ焼き.jp

↓ Punycode による変換

xn--w8j2bze0962a.jp

Punycode ってのは知っていたけど、 NAMEPREP ってのは今回初めて知りました。すごいぞ。これ。

ちなみに konqueror は Punycode に対応しているけど、NAMEPREP には対応していないみたいで、「もつ焼き。JP」は不正な URL として扱われるみたい。しくしく。

2月 192007
 

なんか、「さくらのレンタルサーバ」には emacs が入ってないので自力で make してインストールしてしまおう。みたいな感じです。そもそも、ssh でログインして、ちろっと html を直したい場合、vi じゃ日本語表示してくれないしきついでしょう。

一応、SAKURA のサポートにはメール投げたけど、いつ pkg_add してくれるのか解らないし・・。と、言うことで emacs-current をインストール;-)。作業内容は以下のような感じで非常に簡単です。「さくらのレンタルサーバ」を利用している方、是非試してみてください;-P。

あ、emacs-current をソースからインストールすると大体 300MByte 位必要になります。自分のディレクトリでは du -sk して空き容量を確認してくださいね。

と、言うことでインストール開始;-)。

> cd ~/
> mkdir -p src/Emacs
> mkdir usr
> cd src/Emacs
> cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/emacs login
> CVS password: (単に RETURN)
> cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/emacs co emacs
> setenv LANG C
> setenv L_ALL C
> cd emacs
> ./configure --without-carbon --without-x --prefix=/home/USERNAME/usr
> make bootstrap
> make install

 
こんな感じでインストール完了。/home/USERNAME/usr/bin/ に emacs がインストールされます。まぁ、一応 strip * とかしてサイズ小さくしておきましょう。後、~/src/Emacs はもう必要ないのでサクっと消してしまってもいいでしょう;-)。

これで ssh でログインした後にファイルを編集するすることができるようになった。めでたしめでたし。