2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

Postfix header_checksの書き方とメタ文字の意味


Postfixのheader_checksの記述は一般的な設定をそのまま書いてあるサイトは多いが、設定値のメタ文字の意味を書いてあるサイトは無に等しい。
そこで自分なりの理解で正規表現メタ文字の説明を書いてみた。ただし見ていただくのはいっこうに構わないが間違っているかもしれないので、ここの説明は自己責任で参考にしてほしい。

以下に自分で設定しているheader_checksの内容を表す。説明がいるメタ文字は下に意味を書いているのでご理解願いたい。
自分事だが昨今、Fromセクションを偽造する輩が多いので個人的に四苦八苦している。
メールの処理方法の推奨は、本来ではしゃくにさわるので「REJECT」拒否にしたいところが「DISCARD」の方がいいだろう。なぜかというと昨今のスパムメールはひつっこいからである。拒否すると相手に知られてしまうので、さらにドメインを色々変えてくる、単に変えるだけでなく偽造もしてくるのでたちが悪い。したがって、受信したように見せかけて無視する「DISCARD」がいいだろう。

以下は、記述内容を全て検証したわけでは無いので悪しからず。

【header_checks】内容

# The contents of “header_checks”
# It refuses with the mailer which the partner is using.

/^X-Mailer:.BLT-TECH_EXEMAIL_1/ REJECT

「.」は何でもいい一文字(何もなくても良い)と「BLT-TECH_EXEMAIL_1」がマッチするという意味(空文字でも良い)。「/」は必ず一行の終わりに入れる(これはメタ文字ではない)。

/^X-Mailer:.*Achi-Kochi Mail/ REJECT

「.*」は0個以上の文字列と「Achi-Kochi Mail」がマッチ(0個以上だから空文字でも良い)。

/^X-Mailer:.*PostMaster General/ REJECT
/^X-Mailer:.*DM Mailer/ REJECT
/^X-Mailer:.*Direct Email/ REJECT
/^X-Mailer:.*Oshirase Mailer/ REJECT
/^X-Mailer:.*IMail/ REJECT
/^X-Mailer:.*Shadow Mail/ REJECT
/^X-Mailer:.*IM200.*/ REJECT
/^X-Mailer:.*Easy DM free/ REJECT
/^X-Mailer:.*Douhou@Mail/ REJECT
/^X-Mailer:.*VolleyMail.net./ REJECT
/^X-Mailer:.*@serwer/ REJECT
/^X-Mailer:.*@yousef / REJECT
/^X-Mailer:.*empiricists./ REJECT
/^X-Mailer:.*SupperMailer/ REJECT
/^X-Mailer:.*AOL/ REJECT
/^X-Mailer:.*Cara Mail/ REJECT

/^X-Mailer:.The Bat!/ REJECT

何でもいい一文字(何もなくても良い)と「The Bat!」を含む文字がマッチする。

/^X-Mailer:.GOOD Mailer.*/ REJECT

何でもいい一文字と「GOOD Mailer」と何でもいいその後の文字列もマッチの対象になる。

# It refuses by a partner’s subject.

/^Subject:.*dear valued customers$/ REJECT
/^Subject:.*norton will$/ REJECT

/^Subject:.*married$/ REJECT

「$」は行の末尾を表す。

/^Subject:.*lose we$/ REJECT
/^Subject:.*Here is that sample$/ REJECT
/^subject:.*!!!$/ REJECT
/^subject:.*?9-9p$/ REJECT
/^subject:.*Payslip for the month$/ REJECT
/^subject:.Tracking Sheet$/ REJECT
/^subject:.*for printing$/ REJECT
/^subject:.*Dec Month Bill$/ REJECT
/^subject:.*Photo from Socorro$/ REJECT
/^subject:.*Postcard$/ REJECT
/^subject:.*UGG$/i REJECT
/^subject:.*【RayBan】$/ REJECT
/^subject:.*Oakley$/ REJECT

/^subject:.*[AMERICAN EXPRESS]$/i REJECT

「i」は大文字、小文字は区別しないでマッチする。

/^subject:.*【AMERICAN EXPRESS】$/i REJECT

# It refuses in a FROM address.

/^From:.*<#.@.*>/ REJECT

「#」「@」以前にあったらマッチする。

/^From:.*usa.net/ REJECT

「\」はメタ文字にあるので文字の「.」と区別するために「.」以前に記述する。

/^From:.*hongkong.com/ REJECT
/^From:.*china.com/ REJECT
/^From:.*asult-newsletter.com/ REJECT
/^From:.*smtp.u-netsurf.ne.jp/ REJECT
/^From:.*shinkimail0@yahoo.co.jp/ REJECT
/^From:.*lva4ii@yahoo.com/ REJECT
/^From:.*amipara.co.jp/ REJECT
/^From:.*dreamwiz.com/ REJECT
/^From:.*1075407075@aol.com/ REJECT
/^From:.*bigfoot.com/ REJECT
/^From:.*canada.com/ REJECT
/^From:.*email.net/ REJECT
/^From:.*wildmail.com/ REJECT
/^From:.*mailcity.com/ REJECT
/^From:.*163.com/ REJECT
/^From:.*hanmail.net/ REJECT
/^From:.*acmemail.net/ REJECT
/^From:.*email.com/ REJECT
/^From:.*earthlink.net/ REJECT
/^From:.*winning.com/ REJECT
/^From:.*legislator.com/ REJECT
/^From:.*xxx.com/ REJECT
/^From:.*umpire.com/ REJECT
/^From:.*2004pharms.com/ REJECT
/^From:.*inkbuys.biz/ REJECT
/^From:.*55555.com/ REJECT
/^From:.*emaga.com/ REJECT
/^From:.*m-bai.com/ REJECT
/^From:.*ugg.com/ REJECT
/^From:.*vsbill.net/ REJECT
/^From:.*bekgdfy.net/ REJECT
/^From:.*ixudnsbxl.cc/ REJECT
/^From:.*internet-census.org/ REJECT
/^From:.*censys-scanner.com/ REJECT
/^From:.*gonganumen.wang/ REJECT
/^From:.*vpass.ne.jp/ REJECT
/^From:.*odzaafh.info/ REJECT
/^From:.*newamazonformail.club/ REJECT
/^From:.*tzhualang.com/ REJECT
/^From:.*aqnnou.co/ REJECT
/^From:.*ngq.com/ REJECT
/^From:.*ksuyzm.org/ REJECT
/^From:.*rzkgfp.com/ REJECT
/^From:.*mailtorakutencard.xyz/ REJECT
/^From:.*kktechno.co.jp/ REJECT
/^From:.*cpvillar.com/ REJECT
/^From:.*viewsnet.jp/ REJECT
/^From:.*aexp.com/ DISCARD
/^From:.*germanint.com/ DISCARD
/^From:.*visa.co.jp/ DISCARD
/^From:.*meijiyasuda.co.jp/ DISCARD
/^From:.*rakuten-card.co.jp/ DISCARD
/^From:.*mobilesuica.com/ DISCARD
/^From:.auone.jp/ DISCARD
/^From:.*aeon.jp/ DISCARD
/^From:.*aeon.co.jp/ DISCARD
/^From:.*usaputi.com/ DISCARD
/^From:.*cc.com/ REJECT
/^From:.*japannetbank.co.jp/ REJECT
/^From:.*mufg.jp/ DISCARD
/^From:.*ts3card.com/ DISCARD
/^From:.*uccard.co.jp/ DISCARD
/^From:.*etc.ne.jp/ DISCARD
/^From:.*americanexpress.com/ DISCARD
/^From:.*aplus.co.jp/ DISCARD
/^From:.*welcome-aexp.jp/ DISCARD
/^From:.*welcome-aexp.net/ DISCARD
/^From:.*saisoncard.co.jp/ DISCARD
/^From:.*iownjyp.cn/ DISCARD
/^From:.*dn.smbc.co.jp/ DISCARD
/^From:.*eki-net.com/ DISCARD
/^From:.*sumiclub.jp/ DISCARD
/^From:.*saya.co.jp/ DISCARD

/^From:.manekifukurou.@.*/ DISCARD

「.@」0個以上の文字とマッチし、「manekifukurou」と、その後の「@」前に0個以上の文字と「@」後に0個以上の文字とマッチする。

/^From:.*manekifukurou.@./ DISCARD
/^From:.*insatsusigoto.@./ DISCARD
/^From:.*ml-eki.@./ DISCARD
/^From:.*eki-.@./ DISCARD
/^From:.*etc-.@.*/ DISCARD

/^From:.*¥.it/ REJECT
/^From:.*¥.*tk/ REJECT
/^From:.*¥.*ru/ REJECT
/^From:.*¥.br/ REJECT
/^From:.*¥.cyou/ REJECT
/^From:.*¥.icu/ REJECT
/^From:.*¥.cn/ REJECT
/^From:.*¥.shop/ REJECT
/^From:.*¥.top/ REJECT
/^From:.*¥.xyz/ REJECT
/^From:.*¥.kr/ REJECT
/^From:.*¥.hk/ REJECT
/^From:.*¥.nz/ REJECT
/^From:.*¥.uk/ REJECT
/^From:.*¥.nl/ REJECT
/^From:.*¥.club/ REJECT
/^From:.*¥.us/ REJECT
/^From:.*¥.monster/ REJECT
/^From:.*¥.cc/ REJECT
/^From:.*¥.io/ REJECT
/^From:.*¥.website/ REJECT
/^From:.*¥.tg/ REJECT

/^Date:.*-0400/ REJECT
/^Date:.*-0500/ REJECT
/^Date:.*-0600/ REJECT
/^Date:.*+0700/ REJECT
/^Date:.*-0900/ REJECT
/^Date:.*+0800/ REJECT
/^Date:.*+0600/ REJECT
/^Date:.*+0500/ REJECT
/^Date:.*+0400/ REJECT
/^Date:.*+0100/ REJECT
/^Date:.*+0200/ REJECT
/^Date:.*+0300/ REJECT
/^Date:.*+0330/ REJECT
/^Date:.*+1300/ REJECT
/^Date:.*+0545/ REJECT
/^Date:.*+0530/ REJECT

/^Return-Path:.*<#.@.*>/ REJECT

最後に、ちなみに「REJECT」は拒否する。「DISCARD」は無視するという意味です。

コメント