「Fetchmail」の設定

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

「Fetchmail」の設定

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

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

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

poll hogehoge.com <= POPサーバ名を指定
protocol pop3 <= メールサーバのプロトコルを指定
user hoge <= ユーザ名
password hogehoge <= パスワード


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

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

Solaris% fetchmail

「Fetchmail」の自動実行

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

Solaris# vi fetchmail.sh <= スクリプトファイルの作成
#!/sbin/sh

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

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


Solaris# chmod 755 fetchmail.sh <= スクリプトファイルに実行権限付加

Solaris# vi /etc/crontab <= cron編集
10,20,30,40,50,60 * * * * root /root/fetchmail.sh <= 追加(10分ごとに「Fetchmail」を実行する)

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

Solaris% crontab -e <= cronの編集
10,20,30,40,50,60 * * * * /opt/sfw/bin/fetchmail > /dev/null 2>&1 <= 追加(10分ごとに「Fetchmail」を実行する)
▲ページのトップへ