fetchmail は特殊なメールクライアントで、
定期的にメールサーバに届いたメールを自動的にとってきてくれるという便利なものです。
メールサーバに自動転送機能がない場合に便利です。
他にも便利な場面はたくさんあります。
ではインストールです。
以下を実行ください。
# echo 'net-mail/fetchmail ~x86' >> /etc/portage/package.keywords
# emerge net-mail/fetchmail
あとは各個人で設定です。
自分のホームディレクトリの .fetchmailrc ファイルに設定を書きます。
以下を実行します。
$ cd ~
$ touch .fetchmailrc
$ chmod 600 .fetchmailrc
.fetchmailrc の内容については以下のようにします。
なお、'<','>'で囲まれている文字列に関しては'<','>'も含めて適当な文字列に置き換えてください。
defaults
protocol pop3
keep
no mimedecode
smtpaddress localhost
poll <IP address or FQDN of mail server A>
user <user name of mail server A>
password <user password of mail server A>
is <unix account in this server for storing received mail> here
poll <IP address or FQDN of mail server B>
user <user name of mail server B>
password <user password of mail server B>
is <mail address>
自動的にアクセスしたいメールサーバが複数あれば、
poll を先頭とする単位で設定を並べていくだけです。
これだと、サーバAから取ってきたメールを fetchmail が動作しているマシンのSMTPサーバの
<unix account in this server for storing received mail> ユーザ宛てに送り、
サーバBからのは <mail address> 宛てに送ります。
詳細は
$ man fetchmail
で見られるので必要に応じて調べてください。
この状態で自分のアカウントでログインし、
$ fetchmail
を実行すればメールを手動で取ってこれます。
設定ファイルに
set daemon <seconds>
を加えれば、<seconds> 秒毎に自動的にメールを取りに行きます。
ただ、周期起動に関しては、各個人で設定するより cron で周期起動した方がいいので、
設定方法を説明します。
以下を実行します。
# echo 'app-admin/sudo ~x86' >> /etc/portage/package.keywords
# emerge app-admin/sudo
# cd /usr/bin
# touch fetchmail_alluser
# chmod 500 fetchmail_alluser
# vi fetchmail_alluser
↓以下をファイル内容とする
#!/bin/bash
for dir in `ls -1 /home`; do
if [ -f /home/$dir/.fetchmailrc ] ; then
echo fetchmail $dir
sudo -u $dir -H fetchmail
fi
done
# echo '*/15 * * * * root /usr/bin/fetchmail_alluser' >> /etc/crontab
これで15分毎にすべてのアカウントについて fetchmail が実行されます。
これで十分だと思います。
最後になりますが、fetchmail の設定ファイルにはパスワードが平文で入ることになります。
パーミッションにはくれぐれも注意ください。
また、暗号化等されていない通常の POP や IMAP を使っているメールサーバに対して、
fetchmail で定期的にログインを繰り返すと、
ネットワーク上に平文なパスワードが定期的に流れることになります。
普通のメーラーを使っていてもそうはなっていますが、
fetchmail だと365日24時間休みなく流れることになります。
そんなに神経質になる必要はないのかもしれませんが、
このあたり認識した上で運用してください。
次は、メールフィルタ procmail についてです。
定期的にメールサーバに届いたメールを自動的にとってきてくれるという便利なものです。
メールサーバに自動転送機能がない場合に便利です。
他にも便利な場面はたくさんあります。
ではインストールです。
以下を実行ください。
# echo 'net-mail/fetchmail ~x86' >> /etc/portage/package.keywords
# emerge net-mail/fetchmail
あとは各個人で設定です。
自分のホームディレクトリの .fetchmailrc ファイルに設定を書きます。
以下を実行します。
$ cd ~
$ touch .fetchmailrc
$ chmod 600 .fetchmailrc
.fetchmailrc の内容については以下のようにします。
なお、'<','>'で囲まれている文字列に関しては'<','>'も含めて適当な文字列に置き換えてください。
defaults
protocol pop3
keep
no mimedecode
smtpaddress localhost
poll <IP address or FQDN of mail server A>
user <user name of mail server A>
password <user password of mail server A>
is <unix account in this server for storing received mail> here
poll <IP address or FQDN of mail server B>
user <user name of mail server B>
password <user password of mail server B>
is <mail address>
自動的にアクセスしたいメールサーバが複数あれば、
poll を先頭とする単位で設定を並べていくだけです。
これだと、サーバAから取ってきたメールを fetchmail が動作しているマシンのSMTPサーバの
<unix account in this server for storing received mail> ユーザ宛てに送り、
サーバBからのは <mail address> 宛てに送ります。
詳細は
$ man fetchmail
で見られるので必要に応じて調べてください。
この状態で自分のアカウントでログインし、
$ fetchmail
を実行すればメールを手動で取ってこれます。
設定ファイルに
set daemon <seconds>
を加えれば、<seconds> 秒毎に自動的にメールを取りに行きます。
ただ、周期起動に関しては、各個人で設定するより cron で周期起動した方がいいので、
設定方法を説明します。
以下を実行します。
# echo 'app-admin/sudo ~x86' >> /etc/portage/package.keywords
# emerge app-admin/sudo
# cd /usr/bin
# touch fetchmail_alluser
# chmod 500 fetchmail_alluser
# vi fetchmail_alluser
↓以下をファイル内容とする
#!/bin/bash
for dir in `ls -1 /home`; do
if [ -f /home/$dir/.fetchmailrc ] ; then
echo fetchmail $dir
sudo -u $dir -H fetchmail
fi
done
# echo '*/15 * * * * root /usr/bin/fetchmail_alluser' >> /etc/crontab
これで15分毎にすべてのアカウントについて fetchmail が実行されます。
これで十分だと思います。
最後になりますが、fetchmail の設定ファイルにはパスワードが平文で入ることになります。
パーミッションにはくれぐれも注意ください。
また、暗号化等されていない通常の POP や IMAP を使っているメールサーバに対して、
fetchmail で定期的にログインを繰り返すと、
ネットワーク上に平文なパスワードが定期的に流れることになります。
普通のメーラーを使っていてもそうはなっていますが、
fetchmail だと365日24時間休みなく流れることになります。
そんなに神経質になる必要はないのかもしれませんが、
このあたり認識した上で運用してください。
次は、メールフィルタ procmail についてです。
0 件のコメント:
コメントを投稿