地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【メール】Procmailに入門する

Procmailは、主にUnixオペレーティングシステムで使用される強力なメール処理ユーティリティです。Procmailは特にメールのフィルタリング、分類、および転送において柔軟性が高く、広く利用されています。

以下はProcmailの主要な特徴です。

  • メールフィルタリング: Procmailは受信メールに対して様々な条件を適用し、それに基づいて特定のアクションを実行できます。例えば、特定の送信者からのメールを特定のフォルダに自動的に分類したり、特定のキーワードを含むメールに対して特別な処理を行ったりできます。
  • 自動応答: Procmailはメールに自動応答する設定を行うこともできます。これは休暇中の自動返信などに使用されます。
  • メールの転送: 特定の条件にマッチするメールを別のアドレスに転送する設定も可能です。
  • 高度なスクリプト機能: Procmailは非常に強力なスクリプト機能を備えており、複雑なメール処理ルールを作成することができます。
  • 柔軟な設定: Procmailの設定は.procmailrcファイルに記述されます。このファイル内で、さまざまなルールや条件を定義することで、受信メールに対する幅広い処理が可能です。
  • ローカルとリモートのメール処理: Procmailはローカルに保存されたメールだけでなく、リモートサーバー上のメールに対しても処理を行うことができます。
  • ログ機能: 処理されたメールに関するログを生成することもでき、トラブルシューティングや監査に役立ちます。

Procmailは、その高度なカスタマイズ性と柔軟性から、メールサーバーの管理者やパワーユーザーによって重宝されています。ただし、その複雑さのために設定には注意が必要で、誤った設定はメールの誤配送や紛失を引き起こす可能性があります。

ホームページを見に行くと何も表示されなくて移転中とか何か起きてるんでしょうか?

https://www.procmail.org/

yum infoを見て出てくるURLが上記なので間違いはなさそうなのですが閉じてしまったのでしょうか。

Installed Packages
Name        : procmail
Arch        : x86_64
Version     : 3.22
Release     : 36.el7_4.1
Size        : 349 k
Repo        : installed
From repo   : updates
Summary     : Mail processing program
URL         : http://www.procmail.org
License     : GPLv2+ or Artistic
Description : Procmail can be used to create mail-servers, mailing lists, sort your
            : incoming mail into separate folders/files (real convenient when subscribing
            : to one or more mailing lists or for prioritising your mail), preprocess
            : your mail, start any programs upon mail arrival (e.g. to generate different
            : chimes on your workstation for different types of mail) or selectively
            : forward certain incoming mail automatically to someone.

Xを見てると1年前にはそんなことを書いてる人がいたのでずっと見れないっぽい?

ミラーページはあったのでソースを取ってくるならこちらが良いのでしょうか。Changelogを見ると2001年が最後のリリースとなっているようです。

www.ring.gr.jp

設定ファイル

$ cat ~/.procmailrc
SHELL=/bin/bash
PATH=$HOME/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR

転送したい

:0
! your-email@example.com

:0: これは新しいProcmailルールの開始を意味します。0はメールをロックしないことを意味します。 ! your-email@example.com: メールを指定されたアドレスに転送します。ここで指定されたアドレスにすべてのメールが転送されます。

特定ヘッダーがあったら/dev/nullへ

:0
* ^Header-Name:.*HeaderValue
/dev/null
  • Header-Name:.HeaderValue: これは、Header-Name というヘッダーが HeaderValue を含むメールを検索します。^ は行の始まりを意味し、. は任意の文字の連続を意味します。このパターンは正規表現に基づいています。

/dev/null: この行は、条件に一致したメールを /dev/null にリダイレクトします。これにより、メールは事実上破棄されます。