メール移行を手助けするためのツール【メール取得】
ポイント
Postfixadminの、↑の「メール取得」のメニューはなにか・・・
これは、他のサーバーから、メールを移管させる場合、サーバー上で、
・メールを受信
・ローカルの指定されたメールアドレスに保存
・定期的に自動受信
ということをしてくれます。
ただ、惜しいのは・・・・
・imapのサーバー上にあるフォルダは、コピーしてくれない。
しくみは
・fetchmailコマンドを使ったperlスクリプト
です。
サーバー、ディレクトリ関係設定
# useradd fetchuser
↑実行させるユーザを登録します。
# chown fetchuser.fetchuser /var/www/postfixadmin/ADDITIONS/fetchmail.pl
↑実行させるプログラムのオーナーを変更させます。
# mkdir /var/run/fetchmail # touch /var/run/fetchmail/fetchmail-all.lock # chown -R fetchuser:fetchuser /var/run/fetchmail/ # mkdir /var/lock/fetchmail # chown -R fetchuser:fetchuser /var/lock/fetchmail/
↑実行環境のフォルダ関係を構築します
/var/以下のディレクトリ、再起動後、消えてしまう場合があります。
この場合、以下の情報をご参考に。
perl プログラム、設定
perlプログラムで、DBの指定などを行います。
# vi /etc/mail/postfixadmin/fetchmail.conf
↑プログラム本体ではなく、変更箇所だけ、上記のファイルに記述をします。
$db_type = 'mysql'; $db_username="XXXXXXX"; $db_password="XXXXXXX"; $db_name="XXXXXXX";
↑データベースのタイプを、「MySQL」、DBのユーザ、パスワード、DB名を指定します。
周辺ライブラリ
# yum install perl-Sys-Syslog # yum install perl-LockFile-Simple
↑今回、上記をインストールしました。
ほかに必要なものがあれば、インストールをします。
fetchmail本体
実際に、メールを取ってくるのは、「fetchmail」というプログラムです。
「fetch」というのは、「とってくる」という意味で、昔、マックのFTPクライアントソフトにも、「fetch」というソフトがありました。
# yum install fetchmail # which fetchmail /usr/bin/fetchmail
↑インストールされました。
メールを取ってくる設定
メールアドレス毎に設定をします。
↑「新しいエントリー」を選びます。
「メールアドレス」は、「移行後」(こちらのサーバー側)のメールアドレスです。
「サーバ」には、POP3(もしくは、imap)のサーバー名を記述します。
「ポート」は、指定された番号を登録します。
「認証タイプ」は、「password」(デフォルト)で大丈夫かと。
「ユーザ」は、メールの認証用のユーザです。「ユーザ」=「メールアドレス」であることが多いです
「間隔」は、何分毎に取得するかです。
後述の「cron」の設定にも、左右されます。
「すべて取得」にチェックを入れると、毎回、すべてのファイルを取得することになり、メールを重複して、取得する場合もありますので、通常は、「チェックなし」で大丈夫でしょう。
「プロトコル」は、「POP3」「IMAP」などを選ぶことができます。
定期実行
perlプログラムは、cronによって実行することを想定しているようです。
# su - fetchuser
↑実行するユーザに切替えます。
$ crontab -e */5 * * * * /var/www/postfixadmin/ADDITIONS/fetchmail.pl
↑5分毎に実行させます。
前述の「間隔」との兼ね合い、そして、サーバーの負荷関係を考慮して、どのくらいの間隔がいいか、設定を見極めましょう。