Ubuntu Weekly Recipe

第119回Ubuntuで最新のSylpheedを使う

Sylpheed 3.0 登場

本連載の第62回第63回で紹介したマルチプラットフォームの高機能メールクライアントであるSylpheedが、5年ぶりにメジャーバージョンアップを行いました。

新バージョンである 3.0 は、4月29日にリリース予定のUbuntu 10.04 "Lucid Lynx" には既にパッケージが用意されています。つまり10.04を使用すれば、Ubuntuソフトウェアセンターやapt-getコマンドから最新のSylpheedを簡単にインストールすることができます。

図1 Ubuntu 10.04上で動作しているSylpheed 3.0 のスクリーンショット
図1 Ubuntu 10.04上で動作しているSylpheed 3.0 のスクリーンショット

Sylpheed 3.0 の特徴

それでは、新しくなったSylpheedの特徴を見ていきましょう。

マルチスレッド対応と操作性の向上

従来のSylpheedはすべての動作がメインスレッド内で行われるという実装で、外部コマンドを実行したり、IMAP4フォルダのメールを受信するたびに、他の操作がブロックされてしまっていました。Sylpheed 3.0ではメールの受信や外部コマンドの実行を別スレッドとして実行するようになり、IMAP4メール受信中でもユーザインターフェイスがブロックされません。これによって、操作ができない「待たされる」場面が少なくなり、オペレーションにおけるストレスが非常に軽減されました。

また、メールの受信時やメールの移動、コピー時に、フォルダのサマリキャッシュをその場で更新するように仕様が変更されました。従来はフォルダを開くタイミングでキャッシュを作り直していたため、大量のメールがあるフォルダを開くときには「待たされる」現象が発生していました。3.0では事前にキャッシュを更新しておくことで、多数の新着メッセージがあるフォルダを開いた場合でもパフォーマンスが低下することが少なくなりました。

他にもインターフェイス関連では、フォルダのスキャン中に進捗を表示するなどといった細かい改良が行われています。Sylpheedはもともと軽量で快適に操作できるメールクライアントですが、3.0ではさらに操作性が向上していると言えるでしょう。

アドレス帳の改善

アドレス帳も操作性が向上しました。新APIで再実装されたアドレス帳には、名前やメールアドレスによるソート、検索はもちろん、メールを送信した相手を自動的に登録するという機能が搭載されました。

さらにメールのフィルタリングと連携することが可能で、フィルタのルールに「アドレス帳にある/ない」という条件を指定することが可能になっています。この条件を使用することで「アドレス帳に登録してあるアドレスからのメールはSPAM判定しない」などといった使い方が可能になりました。

プラグイン機能

Sylpheedに後から機能を追加できる、プラグイン機能が搭載されました[1]⁠。プラグイン機能を使用すればSylpheed本体のコードをいじることなく機能追加が行えるため、メイン開発者でなくても気軽に独自機能を追加することができます。また、プラグインは安全性を考慮し、Sylpheedが提供するライブラリAPIを通してのみ、Sylpheedの機能にアクセスできるようになっています。

プラグインの仕様はSylpheedのWikiに記載されています。サンプルプラグインのソースコードもありますので、腕に覚えのあるユーザの方は、これを参考に独自機能を実装してみるのも面白いかもしれません[2]⁠。

セットアップダイアログの刷新

Sylpheedも他のメールクライアントと同様、初回起動時に設定を行うためのセットアップダイアログが存在しますが、3.0ではこのダイアログがよりわかりやすく刷新されました。

GmailのPOP3/IMAP4設定にも対応しており、項目を選択してメールアドレスとパスワードを入力するだけで、SylpheedからGmailを使用することが可能になっています。本連載の第62回でGmailの設定例を紹介しましたが、3.0ではこのように自分でサーバ名やSSL設定などを入力する必要は一切ありません。従来のセットアップダイアログは初心者には解りづらい部分もありましたが、3.0では初心者でも十分扱えるものになっています。

SylpheedのインストールとGmail連携

それではUbuntu 10.04でSylpheed 3.0を使い、Gmailと連携してみましょう。10.04では"アプリケーション" => "Ubuntuソフトウェアセンター"を使ってパッケージをインストールするのがUbuntu流です。ソフトウェアセンターが起動したら、右上の検索窓に"sylpheed"と入力するか、"インターネット" => "メール" とカテゴリを選択し、パッケージ一覧から"Sylpheed"を選択してください。Sylpheedの起動は"アプリケーション" => "インターネット" => "Sylpheed" です。

はじめてSylpheedを起動すると、メールボックスを作成する位置を聞かれます。既存のメールボックスがあるのでなければ、デフォルトでよいでしょう。次に新規アカウントを作成するためのセットアップダイアログが表示されます。ここではIMAP4(Gmail)を選択します[3]⁠。あとは自分の名前とGmailのアドレスを入力すれば設定は完了です。パスワードを入力してGmailにアクセスしましょう。

図2 10.04ではソフトウェアセンターからインストールができる。ソフトウェアの概要だけでなく、スクリーンショットなどもインストール前に確認が可能だ
図2 10.04ではソフトウェアセンターからインストールができる
図3 メールボックスの設定画面。既存のメールフォルダがあるならばそれを指定しよう
図3 メールボックスの設定画面。既存のメールフォルダがあるならばそれを指定しよう
図4 新規アカウントの設定画面
図4 新規アカウントの設定画面

Gmailにあわせた設定の変更

これだけでGmailとの連携は可能なのですが、いくつか問題が残っています。それはSylpheedのフォルダとGmail上のラベルが一致していないことです。

例えばSylpheed上でメールを作成し草稿として保存すると、Sylpheedのメール箱の"草稿"に保存されます。できればこれはGmail上の"下書き"に保存して欲しいところです。またゴミ箱にも同じことが言えます。デフォルトの状態ですとGmail上に[Imap]/Trashというラベルが作成され、Sylpheedから削除したメールはこのラベルがつけられることになりますが、これはやはりGmail上の"ゴミ箱"フォルダに移動して欲しいところです。そこでSylpheedのフォルダのプロパティを変更します。

Sylpheed上でGmailの"下書き"フォルダを右クリックしてプロパティを表示しましょう。そしてフォルダのタイプを"通常"から"草稿"に変更します。同時にメール箱(MH)の"草稿"フォルダのプロパティを開き、こちらはタイプを"通常"に変更しておきましょう。ゴミ箱も同様に、Gmailの"ゴミ箱"フォルダのタイプを"ごみ箱"に、メール箱のごみ箱のタイプは"通常"にしておきましょう。これでSylpheed上から保存した草稿や削除したメールが、Gmail上の該当するフォルダに入ることになります。

図5 Gmail上にゴミ箱用のラベルが作成されてしまっている
図5 Gmail上にゴミ箱用のラベルが作成されてしまっている
図6 ゴミ箱などの特殊なフォルダは、フォルダのタイプを変更することで対応できる
図6 ゴミ箱などの特殊なフォルダは、フォルダのタイプを変更することで対応できる

Sylph-Searcherの活用

Sylph-SearcherはSylpheedのメールボックスから、高速にメッセージの全文検索を行えるプログラムです。メーリングリストなど、大量のメールから特定の条件でメールを検索したい場合に便利ですが、残念ながらUbuntuのパッケージとしては提供されていません。そこでソースからSylphe-Searcherをインストールしてみましょう。

Sylph-Searcherのインストール

Sylph-Searcherは以下のソフトウェアに依存しています。

GLib 2.4.0 以上
http://www.gtk.org/
GTK+ 2.4.0 以上
http://www.gtk.org/
MeCab 0.96 以上 + mecab-ipadic
http://mecab.sourceforge.net/
PostgreSQL 8.3 以上、または 8.2 + tsearch2
http://www.postgresql.org/
LibSylph 1.0.0 以上
http://sylpheed.sraoss.jp/

Sylph-Searcherをビルドするため、必要なプログラムとライブラリをインストールします。

$ sudo apt-get install postgresql-8.4 libpq-dev libsylph-dev mecab-ipadic-utf8 libmecab-dev libglib2.0-dev libgtk2.0-dev

SylpheedのダウンロードページからSylph-searcherのソースパッケージ(sylph-searcher-1.2.0.tar.gz)を入手し、展開したらmakeを行います。

$ tar zxvf sylph-searcher-1.2.0.tar.gz
$ cd sylph-searcher-1.2.0
$ ./configure
$ make
$ sudo make install

データベースの設定を行います。

$ sudo -i -u postgres
$ createuser (任意のデータベースのユーザ名)
$ createdb -O (データベースのユーザ名) -E -UTF-8 (任意のデータベース名)
$ exit
$ psql -U (データベースのユーザ名) -f /usr/local/share/sylph-searcher/sql/create.sql (データベース名)

データベースにメールをインポートします。取り込むフォルダ名はMHフォルダを直接指定する他に、Sylpheedの識別子を使用することができます。識別子はSylpheed上でフォルダのプロパティを表示させた際に"識別子"として表示されています。例えばIMAPのGmailアカウントの受信トレイを取り込む場合は "#imap/example@gmail.com/INBOX" といった表記になります[4]⁠。

$ syldbimport -d (データベース名) -U (データベースのユーザ名) --mecab-encoding UTF-8 "取り込むフォルダ名"

Sylph-Searcherでの検索

メッセージのインポートが完了したら、sylph-searcherコマンドを実行してください。検索用ダイアログが表示されます。ここに検索したい本文や差出人、件名のキーワードを入力することで、PostgreSQLの全文検索機能を用いた高速な検索が行えます。あらかじめメールのインポートを行っておく必要がありますが、大量のメールをさばく必要があるならば、ぜひ活用したい機能です。

図7 sylph-searcherの検索画面。さまざまな条件でメールを高速検索できる。数万通のメールがあったとしても、検索にかかる時間は一秒以下だ
図7 sylph-searcherの検索画面

おすすめ記事

記事・ニュース一覧