どんなメールクライアントでもWebメールを読めるようにするFreePOPs

 Webメール用のアクセスデーモンFreePOPsを使えば、大半のWebベースメールサービスによるメールメッセージをお気に入りのメールクライアントで送受信できる。

 Webメールのアカウントは扱いにくいことがある。特に、複数のサービスプロバイダを利用している場合は、メール送受信のユーザインターフェイスがプロバイダごとに違って統一されていないため、その傾向が強い。一部のWebメールサービスでは無料または追加料金のかかるPOP/SMTP(つまり、普通の電子メール)サービスを利用できるが、FreePOPsを使えば追加料金プランに入らなくても同じことができる。また、ユーザインターフェイスが統一されるほか、以下のような機能も利用できる。

  • オフラインアクセス ― Webメールには本質的にありえない機能だが、外出時にはとても重要になる可能性がある。
  • セキュリティ ― せいぜいメッセージの暗号化、復号化、デジタル署名といった程度だが、Webメールでの実現は難しい。
  • ローカルストレージ ― メールクライアントの場合はコンピュータのハードディスクにメッセージを保存するため、バックアップや検索ができる。
  • 共通のアドレス帳 ― 複数のWebメールアカウントのアドレス帳を、メールクライアントのアドレス帳と同期させる必要がなくなる。

 2004年中頃に登場したFreePOPsは現在も開発が進められており、Linux、UNIX、Mac OS X、Windowsで利用することができる。

メッセージの取得:ローカルのPOPサーバ

 Webメールサービスのメッセージを愛用のメールクライアントに取り込むには、自分の代わりにWebメールアカウントにログインし、Webメールサーバに自らを通常のWebブラウザであると表明して、メッセージをPOP(Post Office Protocol)経由でメールクライアントに渡すことのできるプログラムが必要になる。まさしくそれがFreePOPsだ。この重要なプログラムは、どのWebメールサービスへのアクセスにも共通するPOP3サーバ、HTTPクライアント、HTMLパーザという3つの機能を担当する。各Webメールサービスとの連携方法の細かい部分は、Luaというプログラミング言語で書かれたプラグインスクリプトによって処理される。FreePOPsに付随するプラグインスクリプト群は、Gmail、Hotmail、Yahoo! Mail、mail.comをはじめとするWebメールサービスに対応している。また、その他のWebメールサービスに対応した追加プラグインのダウンロードも可能である。

 FreePOPsは、メールクライアントから受け取ったアカウントのユーザ名を参照して、実行すべきスクリプトを判断する。そのため、Hotmailのアカウントにアクセスするためには、ユーザ名を単に「username」とはせずに「username@hotmail.com」と指定する必要がある。この方法により、1つのFreePOPsデーモンでどんな対応済みWebメールサービスにもアクセスすることができ、また事前に特定のプロバイダ向けの設定を行う必要もない。

 FreePOPsは、ほとんどのLinuxディストリビューションのパッケージ管理リポジトリからインストールできる。インストールが済んだら、rootになってupdate-rc.d freepops defaultsというコマンドを実行することで、FreePOPsをサービスとして稼動させることができる。またこのコマンドにより、システムを立ち上げると自動的にFreePOPsデーモンが起動されるようになる。FreePOPsデーモンの起動は、/etc/init.d/freepops startというコマンドを使って手動で行うこともできる。

 FreePOPsデーモンは、通常のPOPサーバ(もしインストールされていれば)の邪魔にならないように、2000番のポートで接続要求が来るのを待つ。こうした動作やその他の項目は、/etc/default/freepopsというファイルを編集することで変更できるが、デフォルトのままでも問題なく動作するはずだ。

 今度は、メールクライアント側の設定を行い、Webメールアカウントからメッセージを受信できるようにする。ここでは、Thunderbirdの商標削除版、Icedoveを使用する。まず、新規アカウント用のウィザードを使ってアカウントを追加する。受信用メールサーバにはlocalhostを、ユーザ名にはメールアドレス(ここでもフルアドレスを使う)をそれぞれ指定する。アカウントウィザードでは受信用サーバのポート指定ができないので、アカウント作成後にサーバの設定を編集してポート番号を2000に指定する必要がある。

 職場またはISPから与えられた普段使っているメールアカウントがすでに存在する場合、SMTPサーバがメッセージのリレーを行う(つまり、SMTPサーバに登録しているのとは別のメールアドレスを使ってメッセージを送信できる)ように設定されていれば、そのアカウントを使ってメッセージを送信することもできる。ちなみに、私の利用しているISPではできたが、職場のサーバではうまく行かなかった。

 もう1つの方法は、ローカルにインストールしたSMTPサーバを使ってメールを送信するというものだ。Debianの標準的なインストール環境には、そうしたメールサーバとしてexim4が含まれている。そのための設定をexim4で手近に行うには、次のコマンドをrootで実行すればよい。

dpkg-reconfigure exim4-config

 この実行により、オプションを選択するための一連の画面が順に表示される。最初の画面では、メールサーバの設定タイプとして“インターネットサイト;メールはSMTPを使って直接送受信される”を選択する。私の場合、残りのオプションはすべて、提示されたデフォルトの設定を選択したが、環境によっては設定を変える必要があるかもしれない。その場合は、画面上の指示を読んだうえでexim4-config_filesおよびupdate-exim4.confに関連するマニュアルページを参照するとよい。

 SMTPサーバが利用できるようになったら、Icedoveに戻って「Edit」->「Account Setting…」をクリックし、「Outgoing Server(SMTP)」を選択して「Add…」をクリックする。サーバ名にはlocalhostを、ユーザ名にはローカルのユーザ名をそれぞれ設定する。「OK」をクリックし、作成した各Webメールアカウントの内容を確認したら、アカウント設定ダイアログの「Outgoing Server(SMTP)」ドロップダウンリストから先ほど追加したサーバを選択する。

注意事項

 FreePOPsを使えばユーザの環境をさまざまな点で便利なものにできるが、一般にWebメールサービスプロバイダはこうしたツールの利用をサポートしていない。このことを痛感させられるのが、プロバイダが自らのWebメールのインターフェイスに対するアップグレードや変更などに踏み切ったときだ。その結果、関連するFreePOPsのプラグインスクリプトが動作しなくなる可能性がある。該当するプラグインの修正版がすでに存在すれば、それをダウンロードしたうえでfreepops-updater-dialogというFreePOPsのプラグインアップデートユーティリティを使ってインストールすればよい。だが修正されたものがなければ、Webブラウザからアカウントにアクセスする状況に戻るしかない。とはいえ、普通はこうした不自由が長く続くことはない。FreePOPsコミュニティのフォーラムはかなり賑わっていて、たいていは開発者がそうした問題をすばやく解決してくれる。

 もう1つ問題が起こるのは、ローカルのSMTPサーバからメッセージの送信を行う場合である。インターネット上の多くの受信側システムは、動的IPアドレスを持つサーバから送信されることの多いスパムを回避するために、動的IPアドレスから届くメッセージをブロックする。これは、理論上、ダイアルアップ接続を使ってインターネットにアクセスしている場合には、メール配信上何らかの問題が起こっていることを意味する。

 そうした問題はあるが、FreePOPsを使えばWebメールのトラフィックを従来よりもずっと簡単に追跡できる。また、私が経験した限り、増える手間は最小限に抑えられ、ときおり起こる障害もごくわずかだ。

Avi Rozenは、マシンビジョン応用製品の開発を手がける会社のシニアR&Dエンジニア。

linux.com 原文