Fetchmailを用いて電子メールをより柔軟に使おう

文:Vincent Danen(TechRepublic) 翻訳校正:村上雅章・野崎裕子
2008-02-25 08:00:00
  • このエントリーをはてなブックマークに追加

 Fetchmailは、あなたのホームディレクトリ内にある設定ファイル、すなわち~/.fetchmailrcを使用する。このファイルにはパスワードを格納することになるため、モードを0600に設定し、ファイルの読み書きを所有者だけに制限しておかなければならない。

 このファイルの内容は極めてストレートなものだ。

poll mail.server.com protocol pop3 user "joe@joe.com" password "secret" mda "/usr/bin/procmail -d %T" ssl

 これは~/.fetchmailrcの1行分に相当し、複数の行を指定すれば、複数のメールボックス(IMAPとの混在も可能)から電子メールを取得できるようになる。上記の設定を用いた場合、FetchmailはPOP3 over SSLプロトコルを使用し、joe@joe.comというユーザー名とsecretというパスワードを用いてmail.server.comというサーバに接続することになる。そして最後の部分の指定では、電子メールをローカルのMTAではなくProcmailに配送するよう指示している。こういった指示は電子メールのフィルタリングをまずProcmailに行わせたいか、MTAに処理させたいかによって変わってくる。なお、mda引数全体を省略することもできる。

 IMAPを用いて同様の設定を行う場合、以下のようになる。

poll imap.server.com protocol imap user "joe" password "secret" mda "/usr/bin/procmail -d %T" ssl

 ここでもまたSSLを用いているが、両者の違いはプロトコルがPOP3ではなくIMAPであるという点のみである。Fetchmailのマニュアルページでは、SSHを用いてメールを取得する方法も含め、さまざまな設定オプションについての詳細な情報が提供されている。

 また、Fetchmailをデーモンとして起動し、自動的に一定間隔でメールを取得させるようにすることもできる。この場合の起動例は以下の通りだ。

$ fetchmail -d 300

 これでFetchmailはデーモンとして起動し、300秒毎にメールを取得するようになる。また、以下のようなスクリプトを用いて、Fetchmailをcronから起動することも可能だ。

#!/bin/sh
lockfile="${HOME}/tmp/.fetchmail.lock"
nomail="${HOME}/nomail"
if [ -f ${nomail} -o -f ${lockfile} ]; then
    exit 0
fi
touch ${lockfile}
fetchmail -a -K >/dev/null 2>&1
rm -f ${lockfile}

 cronを使って、この簡単なスクリプトを5分程度の間隔で実行させることができる。なお、何らかのデバッグを行う際には~/nomailファイルをtouchしておけば、Fetchmailにメールをまったく取得させないようにすることができる。

 Fetchmailを使えば、保有しているメールアカウントがいくつあったとしても、それらのメールボックスに入ったメールを好きな場所に取り込めるようになる。

この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]