dovecot-sieveでメールフィルタ

ローカル用メールサーバにFreeBSDでExim+dovecotを使っているんだけど、ローカルメールの振り分けにdovecot-sieveを使ってみたのでメモ。
sieve自体はrfcに登録されてるんだけど、とにかくexampleばかりで言語仕様が探しにくかった。
今回やりたかったのは、Cronからのメールをホスト毎に別のディレクトリに振り分け。

で、出来たフィルタファイル

require "fileinto";

if allof(address :is :domain "From" "yubird.com",
         header :contains "Subject" "Cron") {
  fileinto "Cron.atlas";
} elsif allof(address :is :domain "From" "atlas.yubird.com",
         header :contains "Subject" "Cron") {
  fileinto "Cron.atlas";
} elsif allof(address :is :domain "From" "lain.yubird.com",
         header :contains "Subject" "Cron") {
  fileinto "Cron.lain";
} elsif allof(address :is :domain "From" "noel.yubird.com",
         header :contains "Subject" "Cron") {
  fileinto "Cron.noel";
} elsif allof(address :is :domain "From" "tessa.yubird.com",
         header :contains "Subject" "Cron") {
  fileinto "Cron.tessa";
} elsif allof(address :is :domain "From" "tristain.yubird.com",
         header :contains "Subject" "Cron") {
  fileinto "Cron.tristain";
} elsif allof(address :is :domain "From" "zeffiris.yubird.com",
         header :contains "Subject" "Cron") {
  fileinto "Cron.zeffiris";
} else {
  keep;
}

当然だけど、必要なメールディレクトリは作っておかないといけない。

コメントを残す