19.3.3. Fetchmail
Fetchmail は、リモートサーバーから電子メールを取得してローカルの MTA に配信する MTA です。多くのユーザーは、リモートサーバー上にあるメッセージをダウンロードするプロセスと、MUA で電子メールを読み取り、整理するプロセスを別々にする機能性を評価してます。ダイアルアップユーザーのニーズを念頭に置いて設計された Fetchmail は、
POP3
や IMAP
などのプロトコルを使用して、メールスプールファイルに接続し、すべての電子メールメッセージを迅速にダウンロードします。必要に応じて、電子メールメッセージを SMTP
サーバーに転送することもできます。
fetchmail パッケージのインストール
Fetchmail を使用するには、最初に
root
で以下を実行し、fetchmail パッケージがシステムにインストールされていることを確認します。
yum install fetchmail
~]# yum install fetchmail
yum を使用したパッケージのインストールは 「パッケージのインストール」 を参照してください。
Fetchmail は、各ユーザーのホームディレクトリー内の
.fetchmailrc
ファイルを使用して、各ユーザーに設定されています。これが存在しない場合は、ホームディレクトリーに .fetchmailrc
ファイルを作成します。
Fetchmail は
.fetchmailrc
ファイル内の詳細設定を使用して、リモートサーバー上にある電子メールを確認し、ダウンロードします。その後、これをローカルマシンのポート 25
に配信し、ローカルの MTA を使用してメールを正しいユーザーのスプールファイルに配置します。Procmail が利用できる場合は起動して電子メールをフィルターし、MUA が読み込むことができるようにメールボックスに配置します。
19.3.3.1. Fetchmail の設定オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Fetchmail の実行時に、コマンドラインですべての必要なオプションを渡して、リモートサーバーの電子メールを確認することは可能ですが、
.fetchmailrc
ファイルを使用した方がはるかに簡単です。希望の設定オプションを .fetchmailrc
ファイルに置き、それらのオプションが fetchmail コマンドを実行するたびに使用されるようにします。Fetchmail の実行時にオプションを上書きしたい場合は、コマンドラインでそのオプションを指定します。
ユーザーの
.fetchmailrc
ファイルには、3 つのクラスの設定オプションが含まれています。
- グローバルオプション: プログラムの動作を制御する、または電子メールを確認する全接続の設定を提供する指示を Fetchmail に指定します。
- server options: ポーリングされるサーバーに必要な情報を指定します。ホスト名をはじめ、確認するポートやタイムアウトになるまでの秒数など、特定の電子メールサーバーの設定などです。こうしたオプションは、該当するサーバーを使用する全ユーザーに影響を及ぼします。
- ユーザーオプション: 指定された電子メールサーバーを使用して、電子メールの認証や確認を行うにあたって必要なユーザー名、パスワードなどの情報を格納します。
グローバルオプションは
.fetchmailrc
ファイルの上部に表示され、その後に 1 つ以上のサーバーオプションが表示されます。各オプションは Fetchmail がチェックする異なるメールサーバーを指定します。ユーザーオプションは、そのメールサーバーをチェックする各ユーザーアカウントのサーバーオプションに従います。サーバーオプションと同様に、複数のユーザーオプションを指定することで特定のサーバーでの使用、同一サーバー上の複数の電子メールアカウントの確認を行うことができます。
サーバーオプションを
.fetchmailrc
ファイルで利用するには、サーバーの情報の先頭に poll または skip などの特別なオプションの動詞を使用します。poll アクションは、Fetchmail の実行時にこのサーバーオプションを使用して、指定されたユーザーオプションで電子メールを確認するよう Fetchmail に指示します。ただし、skip アクションの後にあるサーバーオプションは、Fetchmail が呼び出された時にサーバーのホスト名が指定されていない限り確認されません。skip オプションは、特に呼び出された時にスキップされたサーバーのみを確認し、現在稼働中の設定には影響を及ぼさないため、.fetchmailrc
ファイルの設定をテストする際に役立ちます。
以下は、
.fetchmailrc
ファイルの例です。
この例では、グローバルオプションにより、最終手段としてユーザーに電子メールが送信されるように指定されており(postmaster オプション)、すべての電子メールエラーは送信者ではなく、ポストマスターに送信されます(bouncemail オプション)。set アクションは、この行にグローバルオプションが含まれていることを Fetchmail に指示します。その後、2 つのメールサーバーが指定されており、もう 1 つは
POP3
を使用してチェックするように設定されます。2 つのユーザーは 2 番目のサーバーオプションを使用してチェックされますが、任意のユーザーで見つかったすべての電子メールは user1 の mail spool に送信されます。これにより、1 つの MUA 受信トレイに表示され、複数のサーバーで複数のクラスを確認できます。各ユーザーの固有の情報は、user アクションで開始します。
設定からのパスワードの省略
ユーザーはパスワードを
.fetchmailrc
ファイルに配置する必要はありません。with password '<password>' セクションを省略すると、Fetchmail は起動時にパスワードを要求します。
Fetchmail には、グローバルオプション、サーバーオプション、ローカルオプションが多数あります。これらの多くのオプションは、ほとんど使用されないか、非常に特殊な状況にのみ適用されます。
fetchmail
の man ページでは、各オプションの詳細が記載されていますが、最も一般的なものを以下の 3 セクションで説明します。