だーから Amazon は、
Amazon.co.jpで、 以前に青木 峰郎の著書をチェックされたお客様に、 このご案内をお送りしています。 『Rubyレシピブック 第2版 268の技』、好評発売中です。 ご注文は以下をクリック。
って俺に送ってくんなー!
(16:06)
すっかり Mac に移行する気になったので、 メール環境も Mac に移行することにした。 かといって Mac だけでしか見られないのも不便なので、 IMAP を使うことに。
サーバは何使ったらいいのか迷ったけど、 特別な機能が欲しいわけでもないので、 無難に courier-imap を使うことにする。 設定も (ログインパスワードを忘れていたことを除けば) 何事もなく済んでしまった。
ところが IMAP サーバ側にメールボックスを作るところでちょっ とつまづく。 何度やっても "invalid mailbox name" とかなんとか言われて作 れない。 どうも、新しいメールボックスを作るときに Mail.app で「受信 箱」を 選択しておかなければいけなかったようだ。
この問題に気付いてからは順調に進んだ。 まず ML ごとにメールボックスを作って振り分けルールを設定す る。 それから Trash と Draft と Sent を作って、 「メールボックス」>「このメールボックスの用途」 でゴミ箱と草稿と送信済みを割り当てる。
次にちょっと悩んだ点が既存メールの移行だ。 これまでは Mew なのでメールボックスが Mh だが、 インポートできるリストはアプリケーション名が並んでいる だけで、mbox とか Mh とかのジェネリックな名前がない。
しかし、どうも「その他」が mbox のことらしいので、 これを利用することに決める。 まず TMail を使ってこんなスクリプトを書き、 Mh から mbox へ変換する。
require 'tmail' mh = TMail::MhMailbox.new(ARGV[0]) mbox = TMail::UNIXMbox.new(ARGV[1]) mh.each_port do |port| port.copy_to mbox.new_port end
と、書いてから思ったけど、 TMail::Mailbox#copy があれば ワンライナーで書けるな。 追加しておこう。
で、mbox に変換できたらそれを Mail.app に読み込む。 最初 mbox ファイルを見付けてくれなくて苦しんだが、 ~/Mail とかのありがちなところに置いとかないとダメみたい。
読み込みが終わると (けっこう時間がかかる)、 「読み込み」というメールボックスの下に 読んだやつが出てくるので、それをごっそりと IMAP のメールボックスに移動して終わり。
さいしょ、個人宛のメールがかたっぱしから SPAM に分類されてちょっとゲンナリしたが、 すべて選択してまとめて「SPAMじゃない」 チェックができたので特に実害はなかった。 そのうち学習してくれることを期待しよう。
(22:07)
なんだかんだでわりと快適な Mac 生活が送れるようになってきた。 残る懸念は端末のバックスペース問題である。
ssh で Linux マシンにログインすると バックスペースが効かなくなる。 これが重症で、stty では直らない。 bash だと大丈夫で zsh がダメというのが 嫌すぎる。
これを回避しようとすると、 Terminal.app の 「delete キーで backspace を送信」 を使わなければならない。 しかし、これをオンにすると今度は ssh 先の less とか vi でバックスペースが 使えなくなるという悲惨な事態が待っている。 ムゴい。
(23:02)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
はじめまして。
Emacs な人が Mail.app に移行しようと思うと
エディタがネックになっていたと思うのですが、
そこら辺はいかがなさったのでしょうか?
バックスペースはCtrl+Hでどうでそ?(また二本指か
わたしはあんまり Emacs を深く使うわけじゃないので、
カーソル移動のキーバインドがだいたい使えれば満足なんですよ。
Mail.app は Ctrl-b, f, p, n, と Ctrl-k, o くらいは使えるので、
ほとんど違和感なく使えています。
いや、Ctrl-h でもダメなところが今回の悲惨なとこでして。
zsh か、vi/less か、どっちかが必ず犠牲になる構造になってるんです。
具体的にどういう理由でそうなるのかはもうちょい調べてみないとなんとも。
なるほど、納得です。ありがとうございました。
ちなみに backspace は screen を挟むと問題なく扱えるので、
そこら辺から原因をさぐると良いかもしれませんね。
なるほど。screen を使えば通るんですか。
とりあえずそれで試してみます。