「Fetchmail」の設定

外部のメールサーバ(ISP等)からのメールを取り込むために「Fetchmail」を利用します。

「Fetchmail」のインストール
[root@CentOS ~]# yum -y install fetchmail <= 「Fetchmail」のインストール
[root@CentOS ~]# yum clean packages <= ダウンロードしたパッケージの削除
「Fetchmail」の設定

基本的に「Fetchmail」の設定ファイルは各ユーザのホームディレクトリに作成します。

[kaz@CentOS ~]$ vi ~/.fetchmailrc <= 設定ファイルの編集
set postmaster kaz <= エラーメールの送信先を指定
set nobouncemail <= エラーメールを送信者に返さない

defaults <= デフォルトの設定を指定する
no mimedecode <= メールサブジェクトをデコードしない(文字化け対策)
smtphost localhost <= 受信したメールの転送先
flush <= 取り込んだメールは削除する(メールを削除しない場合は keep )

poll hogehoge.com <= POPサーバ名を指定
protocol pop3 <= メールサーバのプロトコルを指定
port 995 <= ポート番号を指定
user hoge <= ユーザ名
password hogehoge <= パスワード
ssl <= SSLを利用


[kaz@CentOS ~]$ chmod 600 ~/.fetchmailrc <= 設定ファイルを所有者のみ読み書きできるように設定
「Fetchmail」の実行

「Fetchmail」の設定ファイルを作成したユーザで実行します。

[kaz@CentOS ~]$ fetchmail

「Fetchmail」の自動実行

各ユーザごとにcronに登録して実行しても構いませんが、ここではスクリプトを作成し、 各ユーザのホームディレクトリに設定ファイルがあれば実行するようにします。

[root@CentOS ~]# vi fetchmail.sh <= スクリプトファイルの作成
#!/bin/sh

if [ -f /root/.fetchmailrc ]; then
    /usr/bin/fetchmail
fi

for user in `ls /home/`
do
    if [ -f /home/$user/.fetchmailrc ]; then
        su $user -s "/bin/sh" -c "/usr/bin/fetchmail"
    fi
done


[root@CentOS ~]# chmod 755 fetchmail.sh <= スクリプトファイルに実行権限付加

[root@CentOS ~]# vi /etc/crontab <= cron編集
*/10 * * * * root /root/fetchmail.sh <= 追加(10分ごとに「Fetchmail」を実行する)

なお、各ユーザごとにcronに登録する場合は以下のようにします。

[kaz@CentOS ~]$ crontab -e <= cronの編集
*/10 * * * * /usr/bin/fetchmail > /dev/null 2>&1 <= 追加(10分ごとに「Fetchmail」を実行する)
▲ページのトップへ