はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> メールサーバ >> 外部メールの取り込み(fetchmail)
動作確認 [ FC1 / FC2 / FC3 / FC4 / FC5 / FC6 / Fedora7 / Fedora8 / Fedora9 / Fedora10 / Fedora11 / Fedora12 / Fedora13 / Fedora14 / Fedora15 / Fedora16 / Fedora17 / CentOS4 / CentOS5 / CentOS6 ]
  1. fetchmailとは・・・
  2. fetchmailのインストール
  3. fetchmailの設定
  4. fetchmailの起動と停止
    fetchmailの起動・停止スクリプトのダウンロード
  5. fetchmailの動作確認

■ fetchmailとは・・・

fetchmailとは、外部のメールアカウント(yahooメール等)に届いたメールを一定間隔でメールチェックを行い、自サーバのアカウントの取り込みを行なうツールです。
また、当サイトで紹介している『メール転送機能(procmail)』の『自作CGI(maildelivery.cgi)』を使用すればメール新着転送がない外部メールサーバでもfetchmailでメールを取得し転送する事が可能となります。

■ fetchmailのインストール

# yum -y install fetchmail

■ fetchmailの設定

例)「linux」というユーザで外部メール(mail.hogehoge.netよりferoraというアカウントのメールを取り込む場合)
一般ユーザ「linux」になる
# su - linux

fetchmail設定ファイルの作成
$ vi .fetchmailrc
# ログファイルの指定
set logfile "fetchmail.log"
# エラーの送信先
set postmaster root
set no bouncemail
# メールのチェック間隔(秒)
set daemon 300

# デフォルト設定
defaults
  # プロトコルを指定(ex.[auto]or[pop2]or[APOP]or[RPOP]or[KPOP]or・・・)
  protocol pop3
  # 既読のチェックを行う
  uidl
  # 未読メールの取り込み(ex.全て取り込む場合[fetchall])
  no fetchall
  # サーバ上にメールを残す(ex.削除する場合[no keep])
  keep
  # mimed ecode(8ビットデータに変換しない)
  no mimedecode
  # 送信サーバ(SMTPサーバ)
  smtphost localhost

# 外部メールサーバの設定(取り込み元)
poll mail.hogehoge.net
  # アカウント名
  user fedora
  # パスワード
  password "himitsu"
同一外部メールサーバに複数のアカウントがある場合、「user」と「password」を列挙します。

他の外部メールサーバを取り込みたい場合、以下の「poll」から「password」を列挙します。
# 外部メールサーバの設定(取り込み元)
poll mail.hogehoge.ne.jp
  # アカウント名
  user fedora
  # パスワード
  password "himitsu"


設定ファイルを所有者のみRead/Writeにする
$ chmod 600 .fetchmailrc

■ fetchmailの起動と停止

起動と停止はfetchmail設定ファイルを作成したユーザで起動します。
fetchmailの起動
$ fetchmail

fetchmailの停止
$ fetchmail --quit

■ fetchmailの起動・停止スクリプトのダウンロード

このままでは、複数ユーザ設定毎に起動・停止を行わなければなりません。
また、システム再起動を行った場合も同様なので、起動・停止スクリプトを作成しサービスに登録します。

*:ダウンロードした「fetchmail.tar」が「/root/」直下にコピーした場合で説明します。

配置位置に移動
# cd /etc/rc.d/init.d/

tarファイルを展開
# tar xvf /root/fetchmail.tar

カレント位置へ移動
# cd

展開したファイル存在の確認
# ls -l /etc/rc.d/init.d/fetchmail
-rwxr-xr-x 1 root root 2721  4月 11 11:22 /etc/rc.d/init.d/fetchmail


fetchmailスクリプトの動作検証
fetchmailスクリプトを開始
# /etc/rc.d/init.d/fetchmail start
fetchmail for root starting...
fetchmail for linux starting...

fetchmailスクリプトを停止
# /etc/rc.d/init.d/fetchmail stop
fetchmail for root stoping...
fetchmail: バックグラウンドの fetchmail (PID=28758) が終了しました。
fetchmail for linux stoping...
fetchmail: バックグラウンドの fetchmail (PID=28763) が終了しました。


fetchmailスクリプトをシステムに反映
fetchmailスクリプトをサービスに追加
# chkconfig --add fetchmail

fetchmailスクリプトを自動起動に設定
# chkconfig fetchmail on

■ fetchmailの動作確認

取り込み対象の外部メールアドレス宛にメールを送信します。
指定した時間を過ぎたら、取り込み先のユーザアカウントでメール受信してみてください。
取り込み対象の外部メールへ送信したメールが、自サーバのアカウントに取り込めているはずです。

動作ログの内容を確認してみると動作結果が確認できます。

fetchmailログの確認
# cat /var/log/fetchmail.log
fetchmail: fetchmail 6.2.5 デーモンを動作開始します。
fetchmail: 1 通のメッセージがアカウント fedora , サーバ pop.mail.xxx.xxx.xxx 宛に届いています。 (1178 バイト)
fetchmail: fedora@pop.mail.xxx.xxx.xxx 宛に届いた 1 番目のメッセージ(全部で 1 通)を読み込んでいます (1178 バイト)
fetchmail: サーバからメッセージを削除しませんでした。
fetchmail: 2005年09月22日 14時25分39秒 に休眠状態となりました。

■ コンテンツ関連

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.