ベリラボ

OSS(オープンソースソフトウェア) を主体とした技術検証と小ネタなど

fedora fetchmail linux network procmail tips その他 メール

fetchmail + procmail でメール転送

投稿日:

どこかのメールサーバに届いたメールをなにも考えず全部別のメールサーバに転送したい場合の設定をgoogle、Technoratiで検索したらなかなかみつからなかったのでまとめてみました。

.forward とか /etc/aliases とかで転送してもよいのですが、この方法だと転送先に届かないとメールを送ったところに転送先の携帯メールアドレスとかが漏れてしまうので、今回は fetchmail + procmail でpopで取ってきて転送する方法です。

確認した環境/条件は、以下のようになってます。

Fedora 7
procmail-3.22-19.fc7
fetchmail-6.3.7-2.fc7
転送元メール(POP3)サーバ : xxx.example.com
転送元POPユーザ : foo
転送元POPパスワード: bar
転送先メールアドレス: xxxxx@donomo.ne.jp
転送に使うメールサーバ(MTA) : localhost

10分間隔で転送元に届いたメールをチェック

転送したメールも転送元のメールサーバに残す

【.fetchmailrc の記述】

set postmaster root
set nobouncemail
set logfile fetchmail.log
defaults
protocol pop3
no rewrite
no mimedecode

poll xxx.example.com
uidl
username “foo”
password “bar”
mda “/usr/bin/procmail”
keep

【.procmailrc の記述】

:0 c
! xxxxx@donomo.ne.jp

【注意事項】

.fetchmailrc と .procmailrc のアクセス権限は、600 (group と otherのread/write/execute権限なし) とする。

$ chmod 600 .fetchmailrc

$ chmod 600 .procmailrc

fetchmail.log を事前に作成しておく

$ touch fetchmail.log

【crontab の設定】

*/10 * * * * /usr/bin/fetchmail > /dev/null 2>&1

fetchmailは、daemon化して一定時間間隔でメールチェックすることもできるのですが、daemon化した fetchmailがもしも何かの理由で異常終了したりするとメールをある日突然取ってこなくなることを想定して、crontab 設定で 10分間隔で fetchmailを起動しています。

この設定で転送できるようになりました。それと、転送先をありえないメールアドレスに設定して確認したところ、メールの発信元にはエラーが返らずfetchmailを起動したユーザにエラーメールが届きます。

-fedora, fetchmail, linux, network, procmail, tips, その他, メール

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

ベリサイン + apahce + OpenSSL + mod_ssl ではまり

ベリサイン + apahce + OpenSSL + mod_ssl ではまりました。 秘密鍵作成、CSR作成を行ってベリサインに申請。 戻ってきたServerIDを保存して以下のようにssl.con …

no image

Linux(UNIX)であるディレクトリ配下の全ファイルから検索

あるディレクトリにファイルが複数あって検索するとき、grepコマンドで検索できますが、サブディレクトリがあって階層も不明な場合、どうしたらよいでしょうか? こんなとき、Linuxであれば、以下のように …

no image

CentOS 5.2 + fml 4.0 のメモ

いまさらながら FedoraCore 3 (FC3) で動かしていた fml(4.0) をCentOS 5.2 に移行しようとして、makefml のコマンドを打ったら、以下のようなエラーが発生。 $ …

no image

MySQL 5.1 on CentOS 5.2

CentOS 5.2 上にMySQL 5.1 (RC) をインストール&初期設定の手順を作成しました。 MySQL 5.1は、2008/7/8時点で正式リリースではありませんが、リリースされたときのた …

no image

CentOS 5.2 で、ntp の同期不具合

CentOS 5.2 にしてから、ntp.nict.jp と時刻同期が取れない(reachがゼロ)の状態となっていました。色々調べてみたら、どうやら IPv6が関係しているのが原因だったみたいです。 …