
| ・ |
ドキュメントセンターを初めてご利用する方や運営方針についての基本的な姿勢をご覧になりたい方へ。
|
| ご利用の皆様から多く寄せられる質問にお答えしています。 |
|
| ・ |
ディーエーオフィスなどが利用する用語に関する解説を行います。
|
|
|
 |
 |  |
FetchMail |
fetchmail-5.2.0.tar.gz
http://www.rarf.riken.go.jp/archives/Linux/sunsite/system/mail/pop/!INDEX.short.html
参考文献
http://www-esys.me.aoyama.ac.jp/~gomachan/admin/install/solaris/fetchmail-4.3.9.html
1. make & install
% zcat fetchmail-4.3.9.tar.gz | tar xvf -
% cd fetchmail-4.3.9
% ./configure
% make
% su
# make install
2. 使い方
fetchmail を使うのに便利なのは,設定ファイルを使う方法です.
~/.fetchmailrc を作成する.
例:
---------- ここから ----------
poll PROVIDER_MAIL_SERVER proto pop3:
user POP3_NAME password POP3_PASSWORD is LOGIN_NAME
---------- ここまで ----------
PROVIDER_MAIL_SERVER = プロバイダのメールサーバ
POP3_NAME = プロバイダのPOP3アカウント
POP3_PASSWORD = プロバイダのPOP3パスワード
LOGIN_NAME = 自分のホストのアカウント名
上記の項目を書いたら,パーミッション変更.
(パスワードが書かれているのだから当たり前ですけど…)
% chmod 600 ~/.fetchmailrc
実行するには,
% fetchmail PROVIDER_MAIL_SERVER
とするとオッケーです.
また、いくつかのプロバイダから取って来るときは
設定をそのぶん複数行並べて記述して
% fetchmail -a
でOKです。
サーバにメールを残すには,-k オプションを付ける.
詳しくはマニュアルを見ましょう.
http://libra.higashi.hit-u.ac.jp/kanrinin/paradise/manual/fetchmail.html
この中で、下記のURIを紹介している。
http://www.best.com/~hoshina/linux/980608.html
fetchmailとprocmail
ダイアルアップなLinux Boxだと、BINDを動かす必要もなければ、
sendmailを動かす必要もないよね。複数台のPCを持っていて、
家庭内LANを立ち上げてる人ってのも最近多いかもしれないけど(オレもそうだ)
それにしたって、ユーザが自分ひとりしかいないなら、
その目的ってのはプリンタなどのハードウェアの共有だったり、
ファイルの共有だったりってのが主なところだろう。
勉強のためならともかく、苦労してsendmailを立ち上げた
あげく、変テコなヘッダ(特にMessage-IDとか)のメールを
投げて見知らぬ人に迷惑をかけたり、さらには怒られたり
してたんじゃ割に合わぬ。てなわけで、おすすめなのがfetchmailだ。
POP3やIMAP4を喋ってくれるユーティリティで、
ISPのメールボックスからメールを取ってきて、
ローカルなマシンのスプールに置いてくれる、
というのが主な機能だけど、デーモンとして起動すれば、
受信に限ればサーバが動作しているのと見た目はまったくかわらない。
こまごました設定も可能で便利に使っている。
fetchmail-4.4.1.tar.gzというtarballをarchieで拾ってきて、
適当なところに展開する。でもって、./configure して make するだけ。
とっても簡単。ただ、オレの場合、./configureしたときに
makedepend で stddef.h が見付からないよ、
というエラーメッセージがいくつか出た。これは無視しても問題ないようだ。
で、make して、root になって make install してインストールはおしまい。
こまかい動作の調整は、~/.fetchmailrc を編集して行なう。
ソースを展開したディレクトリに、sample.rcfile というファイルがあるので、
それを見よう。man fetchmail で詳細を見るのもグ〜。
特に難しいことはない(とオレは思う)もしも難しいようなら、
いい機会だから勉強しようね。
ちなみにオレの使っている ~/.fetchmailrc はこんな感じ
poll pop3のサーバ名
protocol pop3
uidl
username ispでのユーザ名
password ispでのパスワード
no rewrite
keep
mda "/usr/bin/procmail"
まぁほとんど見たままだね。
uidlってのは、新着メールか否かの判断をuidlでやってくれ、
ということだ。no reweiteってのは、ヘッダをいじらないで
そのままにしとけってこと。で、keepってのは、fetchしたメールも
すぐ消さずに取っておいてくれってことだ。
最後の行の mda "/usr/bin/procmail" てのがちょっとしたキモで、
オレはこれのおかげで完全にsendmailからオサラバしている。
実はfetchmailってのは、デフォルトではsendmailにメールを
そのまま渡すようになっているんだ。
ISPからメールを取ってくる
ローカルなユーザ宛のメールのふりしてsendmailに渡す
sendmailがそれぞれのユーザのスプールにメールを置く
という形で動作している。まぁこうしておけば、ローカルな
Linux Boxからさらにどこかに転送するなり、
自由度はあるのかも知れないけど、大多数の人には、
ここでsendmailに登場してもらう必要はないよねぇ。
てなわけで、procmailの出番だ。
procmailというのは、メールをあらかじめ与えられた書式に
したがって判別し、指定されたフォルダに振り分けてくれる
ユーティリティだ。Windows上で動く、今時のGUIGUIしたメールソフトなら
たいてい持っている機能だよね。やっぱり便利だから使わない手はないぜ。
例によって、師匠の菊谷さんのページから、procmail-3.11pre7.tar.gz と
procmail-maildir.patch を頂いてくる。単にprocmailを使うだけなら、
archieなりなんなりでprocmailのtarballを持ってくればいいんだが、
今回はmboxでなくMaildirでメールを保持するようにする、
という目的もあるので、procmail-maildir.patchがとにかく大事なのだ。
いつもながら感謝>菊谷さん
これもインストール自体はとっても簡単で、tarballを適当に展開し、
Maildirのパッチをあてて単にmakeするだけ。エラーなくmakeできたら、
rootになってmake installすればおしまい。
で、こまごました設定は~/.procmailrcに記述して調整する。
そもそも、なんでMaildirに拘るのか、
というと、一言でダサイからだ。
だって、mboxってさぁ、1個のファイルなんだぜ。
単にそのフォルダにあるメールを全部catしてくっつけてあるだけ。
一回でも新しいメールの追記に失敗したら、そのmboxファイルは終り。
フォルダもお亡くなり。スレッドを生成するのもエラく面倒、
といういいとこなしの形式なのだ。
その点、Maildirなら、1メール1ファイルで柔軟性があるし、
スレッドの生成にこれほど向いた形式もなかろう。
フォルダ間の移動、フォルダそのものの移動なんかも楽々だ。
ふつ〜はこっちを使いたいよなぁ。
てなわけで上にもどって、~/.fetchmailrc の mda "/usr/bin/procmail" てのは
何か、というと、fetchmailが取ってきたメールを、普通にsendmailに渡さないで、
procmailに渡してね、という指定なのだ。mdaってのは
つまり、mail delivery agentってこった。配達人ね。
こうすることで、fetchmailがメールを取ってくると、
即座にprocmailに渡し、procmailは言われたとおりにMaildir形式な
フォルダにせっせと分配してくれるわけ。グ〜だぜ。
ちなみにオレの使っている ~/.procmailrc は抜粋するとこんな感じ
#VERBOSE=on
PATH=$HOME/bin:/usr/bin:/bin:/usr/local/bin:.
MAILDIR=$HOME/Maildir # You’d better make sure it exists
LOGFILE=$MAILDIR/from
LOCKFILE=$HOME/.lockmail
DEFAULT=$HOME/Maildir/inbox/new
:0
* ! ^Lines:
{
# Count number of lines
:0B
* 1^1 ^.*$
{ }
LINES = $=
# Add Lines: header
:0 fhw
| formail -a "Lines: $LINES"
}
:0
* X-ML-Name: linux-users
linux/new
:0
* To: .*x-tt
x-tt/new
これも、ほとんど見たままだけど、ちょっとだけ説明ね。
まず、MAILDIRはオレの場合~/Maildirになっている。
これはprocmailを始めて起動するまえに、
あらかじめディレクトリを掘っておこう。
あとは勝手に作ってくれたはず。
主にMailing Listの振り分けに使うと思うが、
配信されてくるメールのヘッダに、X-ML-Nameがある場合は、
上の例でいくと、Linux-usersの項目をカット&ペーストで使える。
ヘッダにX-ML-Nameがない場合は、To:でもなんでも、
キーになるヘッダを決めて、世紀表現なんかも折り混ぜて記述する。
上の例だと、x-tt Mailing Listの項目だ。
ここまで設定したら、ISPにダイアルアップして、fetchmail -v などとしてみよう。
|
| 文書番号 |
00119 |
| 日付 |
2003.12.28 |
| 参照数 |
2185 |
|