関連トピック
デフォルトのrules.MailRulesファイルは、管理者デスクトップの[Internet Services]フォルダの[Filters]フォルダ内にあり、ルールに基づいて受信メールの許可または拒否を行います。このファイルに記述されたルールの大半は、スパムの可能性があるものを見つけ出し、スコアを付けることです。以下では、デフォルトのrules.MailRulesファイルをいくつかに分けて説明します。各部分はご利用環境に合うようにカスタマイズすることができます。rules.MailRulesファイルでは、あらかじめ備わっている多くの機能と変数が使われています。この機能と変数の詳細は、オンラインヘルプのメールルールの構文、変数、関数を参照してください。
# で始まる行はコメントで、ルールとはみなされません。ルールを無効にするには、そのルール行の先頭に # を付けてください。
説明のために、ここでは各コード行に番号を振り、次のような色分けを行っています。
・ルールは、有効、無効に関わらず、青色です。
・コメントは緑色です。
1 # If we can quickly determine that a message should not be processed by the mail rules, do so here
2 # If the message is from a trusted address or site, we're done
3 ^: IF ($Form.Config.1202.Checkbox==0 AND @IsTrustedIP($SenderIP)) DONE
4 # If the sending IP is not the address in the Route through one SMTP server, and is trusted, we're done
5 # This forces mail funnelled through a trusted front end SMTP server through the mail rules.
6 ^: IF ($Form.Config.1202.Checkbox==1 AND @IsTrustedIP($SenderIP) AND ($SenderIP != $Form.Config.1203.String)) DONE
7 # The MAIL FROM address is easily spoofed, so less trustworthy
8 ^: IF (@istrustedaddress($sender)) DONE
9 # The From address is more easily spoofed, so is less trustworthy
10 #From: if (@istrustedaddress($from)) DONE
行番号3は、$SenderIPがフィルタリング用ドキュメントの信頼済みサーバの一覧に登録されているかどうか、また、[メールの詳細設定(Advanced
Mail)]フォームの[ルーティング]タブで[1つのSMTPサーバを経由させる]がクリアになっているかどうかをチェックします。どちらのテストも真であれば、ルール処理は停止し、メッセージは配信されます。
差出人は信頼済みサーバに登録されているものの、[1つのSMTPサーバを経由させる]が選択されている場合は、その差出人がフロントエンドサーバであるかどうかを行番号6でさらにチェックします。フロントエンドサーバではない場合に限り、ルール処理は省略されます。
行番号8は、 $senderがフィルタリング用ドキュメントの信頼済みアドレスの一覧に登録されているかどうかをチェックします。差出人がフィルタリング用ドキュメントで信頼済みアドレスとして登録されていれば、ルール処理は停止し、メッセージは配信されます。
行番号10は、ヘッダのFrom:フィールドを使用するルールで、無効になっています。このルールが無効になっているのは、From:フィールドはスパム配信者によって簡単に偽造されてしまうためです。このルールを有効にしたい場合は、行の先頭にある # を削除してください。
11 # Admin settable variables are defined here
12 ^: IF (1) SET $CrosspostLimit=$Form.Config.2606.Number AND $CrosspostIncr=5 AND $XpostSpamLevel=20 AND $XpostSpamIncrVal=5
13 ^: IF (1) SET $XtremeCausesNDN=$Form.Config.2604.Checkbox
14 # Changing these variables requires consideration of the various values of the individual spam tests
15 ^: IF (1) SET $LowSpamMin=10 AND $LowSpamMax=25
16 ^: IF (1) SET $MedSpamMax=50 AND $HighSpamMax=100
17 ^: IF (1) SET $BustedMailer=0
18 ^: IF (1) SET $spamlevel=0 AND $spamtests=""
19 ^: IF (1) SET $imgtracking=0 AND $singlepixelimg=0 AND $dotbizurl=0 AND $stealthimg=0 AND $stealthurl=0 AND $aturl=0
20 ^: IF (@IsSpamIP($SenderIP, "lists.SpamIPs")) SET $spamlevel += 100 AND $spamtests += "IPBLOCK;"
21 ^: IF (1) SET $sorry = "Sorry, your message has triggered a SPAM block, please contact the postmaster"
行番号12は、クロスポストの制限値を表す変数と、スパムスコアのそれぞれのスパムスコアです。受信者の数が$CrosspostLimitより多い場合、スパムスコアに$XpostSpamLevelの値が加算されます。受信者の各組み合わせのサイズ$CrosspostIncrが、基準値の$CrosspostLimitより大きい場合、スパムスコアに$XpostSpamIncrValの値か加算されます。
ご利用のシステムでクロスポストをスパムの判断材料とする場合、メーリングリストには多数の宛先が含まれる可能性があるため、受信したいメーリングリストは、信頼できるアドレスの一覧に追加する必要があります(インターネットサービスの[Filters]フォルダとフィルタリング用ドキュメントの利用を参照)。
行番号13は、$XtremeCausesNDN変数を設定します。スパムスコアが$HighSpamMaxを超えるメールは、Xtremeと判定されます。[インターネットの基本設定(Basic Internet Setup)]フォームで[スパムスコアが[高]を超えたら拒否]が選択されている場合、Xtremeと判定されたメールはすべてインターネットサービスによって削除され、不達メッセージが送られます。[スパムスコアが[高]を超えたら拒否]が選択されていない場合、インターネットサービスはこのメッセージをXtremeと判定するものの、拒否しません。
行番号15と16は、スパムスコアのHIGH(高)、MEDIUM(中)、LOW(低)の値を決めるために使用されます。
行番号17は、 $BustedMailer変数を初期化して0にします。
行番号18は、スパムスコアを0にし、$spamtest変数を初期化します。
行番号19は、他のスパムテストで使用されている6つの変数を初期化して0にします。
行番号20は、$SenderIPがフィルタリング用ドキュメントのlists.SpamIPsリストに登録されているかどうかをチェックします。TRUEであれば、スパムスコアを100加算します。
行番号21は、スパムのブロックによってメッセージが拒否されたユーザに送信する不達メッセージの内容を設定します。
22 # check received headers for SPAMmers
23 Received: eregexp:".*[(\\[]\\([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\)[)\\]]" SET $IP = "\\1"
24 Received: IF (@isspamip($IP)) NDN 550 "$sorry"
行番号23は、正規表現式を使用してメッセージヘッダをチェックし、IPアドレスの有無を調べますこのIPアドレスは、$IPに格納されます。その後、このIPアドレスがスパムIPの一覧にあるかどうかを行番号24で調べます。このIPアドレスがスパムIPの一覧にあれば、メッセージはインターネットサービスによって拒否され、不達メッセージが送られます。
25 # Subject tests go here
26 Subject: IF ($Form.Config.2605.Checkbox && @InBlockList($Subject)) NDN 550 "$sorry"
27 Subject: IF ($Form.Config.2605.Checkbox == 0 && @inblocklist($subject)) SET $spamlevel += 100 AND $spamtests += "SUBJECTBLOCK;"
28 Subject: regexp:"^$" SET $spamlevel += 10 AND $spamtests += "SUBJ_HAS_NO_SUBJECT;"
29 Subject: " " SET $spamlevel += 20 AND $spamtests += "SUBJ_HAS_SPACES;"
30 Subject: IF (@allcaps($subject)) SET $spamlevel += 25 AND $spamtests += "SUBJ_ALL_CAPS;"
31 Subject: eregexpi:"(^|[^[:alnum:]])(v|\\\\/)[^[:alnum:]]{0,2}[i1l\|!。フヘホマ][^[:alnum:]]{0,2}[a@タチツテトナニ珮粤蒟][^[:alnum:]]{0,2}g[^[:alnum:]]{0,2}r[^[:alnum:]]{0,2}[a@タチツテトナニ珮粤蒟]($|[^[:alnum:]])" SET $spamlevel += 101 AND $spamtests += "SUBJ_VIAGRA;"
32 Subject: eregexpi:"x[^[:alnum:]]{0,2}[a@][^[:alnum:]]{0,2}n[^[:alnum:]]{0,2}[a@][^[:alnum:]]{0,2}x" SET $spamlevel += 101 AND $spamtests += "SUBJ_XANAX;"
33 Subject: eregexpi:"d[^[:alnum:]]{0,2}r[^[:alnum:]]{0,2}u[^[:alnum:]]{0,2}g[^[:alnum:]]{0,2}s" SET $spamlevel += 100 AND $spamtests += "SUBJ_DRUGS;"
34 Subject: IF (@PunctCount($Subject) >= 5) SET $spamlevel += 10 AND $spamtests += "EXCESS_PUNCT;"
35 Subject: IF (@WordCount("lists.Rude", $Subject) > 1) SET $spamlevel += 100 AND $spamtests += "SUBJ_RUDE_WORDS;"
行番号26は、rules.SubjcetBlockに登録されている単語が件名に含まれているか、そして[Basic Internet Setup]フォームで「rules.SubjectBlockに登録の件名を拒否」が選択されているかどうかを調べます。両方ともTRUEであれば、不達メッセージが送信されます。
行番号27は、rules.SubjcetBlockに登録されている単語が件名に含まれているか、そして[Basic Internet Setup]フォームで「rules.SubjectBlockに登録の件名を拒否」が選択されていないかどうかを調べます。TRUEであれば、スパムスコアを100加算します。
行番号28は、件名が空白であるかを調べます。件名がないメッセージは、スパムである場合がほとんどです。TRUEであれば、スパムスコアを10加算します。
行番号29は、件名に余分な空白があるか調べます。スパム配信者は、「Hi... Remember me?」のような件名を使うことがあります。このような件名は余分な空白があるため、このルールで見つけ出すことができます。TRUEであれば、スパムスコアを20加算します。
行番号30は、件名がすべて大文字で書かれているかを調べます。件名にすべて大文字が使われているメールは、スパムの場合がよくあるため、スパムスコアを25加算します。
行番号31から33は、「Viagra」「Xanax」「drugs」という異なる単語があるかどうかを調べます。このような件名は、スパム配信者がスパムフィルタをすり抜け、かつ人の目に留まるようにと意図したものです。行番号30または31のテストがTRUEであればスパムスコアを101加算し、行番号32のテストがTRUEであればスパムスコアを100加算します。
行番号34は、件名に5個以上の句読点があるかどうかを調べます。句読点が多い件名のメールはスパムの場合があります。このテストがTRUEであれば、スパムスコアを10加算します。
行番号35は、[Filters]フォルダ内のlists.Rudeリストに登録された単語が、2つ以上件名に含まれているかどうかを調べます。このテストがTRUEであれば、スパムスコアを100加算します。
36 Errors-To: "*@*" SET $spamlevel -= 20 AND $spamtests += "-ERRORS_TO;"
行番号36は、Errors-toフィールドに正当な値が記述されている場合に、スパムスコアを20減算します。通常、Errors-toフィールドに正当な値があれば、そのメッセージがスパムでないという判断材料になります。
37 # Content-Type and Content-Disposition header checks to allow setting of attachment names for
38 # virus/worm subject/attachment combination checking later
39 Content-Type: regexp:".*name=\"\\(.+\\)\"" SET $attname="\\1"
40 Content-Disposition: regexp:".*name=\"\\(.+\\)\"" SET $attname="\\1"
行番号39と40は、メッセージの添付ファイル名を検出します。$attname変数は、他のスパムテストで使用されます。
41 # X-Mailer checks
42 X-Mailer: IF (@InWordList("lists.BustedMailers", $Header)) SET $BustedMailer=1
43 X-Mailer: IF (@InWordList("lists.x-mailer-1", $Header)) SET $spamlevel += 75 AND $spamtests += "X-MAILER-1;"
44 X-Mailer: IF (@InWordList("lists.x-mailer-2", $Header)) SET $spamlevel += 25 AND $spamtests += "X-MAILER-2;"
行番号42は、[Filters]フォルダのlists.BustedMailersリストに登録されているメーラ名がヘッダに含まれているかどうかを調べます。このテストがTRUEであれば、$BustedMailerが1に設定されます。
行番号43と44は、スパム配信者が使用するメーラであることを示す特定のメーラ名がX-Mailerにあるかどうかを調べます。[Filters]フォルダのlists.x-mailer-1リストとlists.x-mailer-2リストには、該当するメーラ名が登録されています。いずれかのメーラ名が発見された場合、そのメッセージはおそらくスパムであると考えられます。 スパムスコアは、lists.x-mailer-1リストにあるメーラ名であれば75加算され、lists.x-mailer-2リストにあるメーラ名であれば25加算されます。
45 # Tests for other bulk mailers which use their own X-headers
46 X-Speedi-Job: IF (1) SET $spamlevel += 100 AND $spamtests += "X-SPAMMER-HEADER;"
47 X-Ssi-Job: IF (1) SET $spamlevel += 100 AND $spamtests += "X-SPAMMER-HEADER;"
行番号46と47は、スパム配信者が使用する特定のX-headerが検出された場合に、スパムスコアを100加算します。
48 # Tests for people who set an X-Originating-IP header with your own IP address
49 X-Originating-IP: IF ($MyIP == $Header) SET $spamlevel += 101 AND $spamtests += "X-ORIG-IP;"
50 X-Originating-IP: IF ("[$MyIP]" == $Header) SET $spamlevel += 101 AND $spamtests += "X-ORIG-IP;"
行番号49と50は、インターネットサービスサーバのIPアドレスがX-Originating-IPヘッダに含まれているかどうかをチェックします。スパム配信者は、メッセージのこのようなヘッダを追加して、アンチスパムフィルタをだまそうとします。テストがTRUEであれば、スパムスコアを101加算します。
51 # Tests at the end of the Internet headers go here
52 # 1 - Tests for missing common and required Internet headers go here
53 : IF (NOT @SeenHeader("Message-ID") AND $BustedMailer==0) SET $spamlevel += 50 AND $spamtests += "NO_MESSAGE_ID;"
54 : IF (NOT @SeenHeader("Subject") AND $BustedMailer==0) SET $spamlevel += 50 AND $spamtests += "NO_SUBJECT_HEADER;"
55 : IF (NOT @SeenHeader("Date") AND $BustedMailer==0) SET $spamlevel += 25 AND $spamtests += "NO_DATE;"
56 # 2 - Tests for dubious Internet headers go here
57 : IF (@SeenHeader("X-CS-IP")) SET $spamlevel += 5 AND $spamtests += "DUBIOUS_X_HEADER;"
58 : IF (@SeenHeader("X-IP")) SET $spamlevel += 5 AND $spamtests += "DUBIOUS_X_HEADER;"
行番号53は、メッセージのヘッダにMessage-IDがなく、$BustedMailerが0の場合に、スパムスコアを50加算します。
行番号54は、メッセージのヘッダに件名がなく、$BustedMailerが0の場合に、スパムスコアを50加算します。
行番号55は、メッセージのヘッダにDateがなく、$BustedMailerが0の場合に、スパムスコアを25加算します。
行番号57と58は、インターネットサービスサーバのIPアドレスがヘッダに含まれているかどうかをチェックします。スパム配信者は、メッセージのこのようなヘッダを追加して、アンチスパムフィルターをだまそうとします。テストがTRUEであれば、スパムスコアを5加算します。
59 # Some new for 8.0 rules that examine the message body for SPAM
60 # - look for messages with no text, just 1 or more links.
61 >: IF (@InBlockList($body)) SET $spamlevel += 100 AND $spamtests += "BODYBLOCK;"
62 >: IF (@InWordList("lists.BodyList1", $Body)) SET $spamlevel += 50 AND $spamtests += "BODYLIST1;"
63 >: IF (@WordCount("lists.Rude", $body) > 1) SET $spamlevel += 100 AND $spamtests += "TOO_MANY_RUDE_WORDS;"
64 # look for protestations that this is not really spam...
65 >: regexp:".*[Cc][Aa][Nn]-?[Ss][Pp][Aa][Mm] [Aa]ct of" SET $spamlevel += 100 AND $spamtests += "CAN-SPAM_ACT;"
行番号61は、rules.SubjectBlockリストに登録されている語句が本文に含まれているかどうかをチェックします。このテストがTRUEであれば、スパムスコアを100加算します。
行番号62は、[Filters]フォルダのBodyList1リストに登録されている語句が本文に含まれているかどうかを調べます。このテストがTRUEであれば、スパムスコアを50加算します。
行番号63は、[Filters]フォルダ内のlists.Rudeリストに登録された単語が、2つ以上本文に含まれているかどうかを調べます。このテストがTRUEであれば、スパムスコアを100加算します。
行番号65は、自分たちが送信したメールは「American CAN-SPAM Act of 2003」(2003年に米国で施行されたスパム対策法の名前)に適合しているためスパムではない、とする免責条項をスパム配信者が本文に記述しているかどうかをチェックします。このテストがTRUEであれば、スパムスコアを100加算します。
66 # The following rules inspect the message body text
67 >: eregexpi:"(^|[^[:alnum:]])(v|\\\\/)[^[:alnum:]]{0,2}[i1l\|!。フヘホマ][^[:alnum:]]{0,2}[a@タチツテトナニ珮粤蒟][^[:alnum:]]{0,2}g[^[:alnum:]]{0,2}r[^[:alnum:]]{0,2}[a@タチツテトナニ珮粤蒟]($|[^[:alnum:]])" SET $spamlevel += 101 AND $spamtests += "BODY_VIAGRA;"
68 >: eregexpi:"f[^[:alnum:]]{1,2}r[^[:alnum:]]{1,2}e[^[:alnum:]]{1,2}e" SET $spamlevel += 101 AND $spamtests += "DISGUISED_FREE;"
行番号67は、「Viagra」などスパム配信者がよく使用する語句が本文に含まれているかどうかをチェックします。このテストがTRUEであれば、スパムスコアを101加算します。
行番号68は、「free」などスパム配信者がよく使用する語句が本文に含まれているかどうかをチェックします。このテストがTRUEであれば、スパムスコアを101加算します。
69 # Null body scan to set the #BODY internal variable if no other message body text rules are run
70 >: IF (0) DONE
71 # The following rules inspect links (<A and <IMG) found in HTML message bodies
72 <: eregexp:"<IMG SRC=\".+(\\.gif|\\.jpe?g)\\?.+\">" SET $imgtracking+=1
73 <: eregexp:"<IMG .+ WIDTH=1 HEIGHT=1>" SET $singlepixelimg+=1
74 <: regexp:"<A .+\\.biz/.*>" SET $dotbizurl+=1
75 <: regexp:"<IMG SRC=\".+\\*http://" SET $stealthimg+=1
76 <: regexp:"<A HREF=\"http://.+[*?]http://.+\">" SET $stealthurl+=1
77 <: regexp:"<A HREF=\".+@.+\\..+/.*\">" SET $aturl+=1
78 # some rules that look for opt-out links
79 <: eregexp:"<A .+/(remove|opt).*>" SET $spamlevel += 50 AND $spamtests += "UNSUBSCRIBE_LINK;"
80 <: eregexp:"<A .+>.*([Oo]ffer|[Uu]nsub|[Rr]emove|[Nn]o [Mm]ore).*</A>" SET $spamlevel += 50 AND $spamtests += "UNSUBSCRIBE_LINK;"
行番号72と73は、このメッセージを読んだ人を追跡するためにスパム配信者が使用する画像へのURLが本文に含まれているかどうかをチェックします。行番号72のテストがTRUEを返した場合は、$imgtrackingが1加算され、行番号73のテストがTRUEを返した場合は、$singlepixelimgが1加算されます。
行番号74は、「.biz」で終わるドメイン名へのリンクが本文に含まれているかどうかをチェックします。このテストがTRUEであれば、$dotbizurlが1加算されます。
行番号75は、実際のサーバとは異なるサーバにあるかのように見せかける画像へのURLが本文に含まれているかどうかをチェックします。このテストがTRUEであれば、$stealthimgが1加算されます。
行番号76は、このメッセージを読んだ人を追跡するためにスパム配信者が使用する画像へのURLが本文に含まれているかどうかをチェックします。このテストがTRUEであれば、$stealthurlが1加算されます。
行番号77は、実際のリンク先とは異なるサイトへのリンクであるかのように見せかけるようにスパム配信者が細工したURLが本文に含まれているかどうかをチェックします。このテストがTRUEであれば、$aturlが1加算されます。
行番号79と80は、クリックすればスパム配信者が所有するリストからユーザが削除されるとするリンクが本文に含まれているかどうかをチェックします。テストがTRUEであれば、スパムスコアを50加算します。
81 # In the first hours of virus outbreak, uncomment this line and do a Get Config
82 #@: IF (1) NDN 550 "No attachments allowed in this system"
行番号82は、添付ファイルがあるメッセージをすべてブロックするような緊急事態のために使用することができるルールで、無効にされています。
83 # Virii checking tests go here
84 #@: IF (@length($attname) && @InWordList("lists.VirusNetskySubject", $Subject) && @InWordList("lists.VirusNetskyAttachment", $attname)) NDN 550 "No worms allowed"
85 @: IF (@length($attname) && @InWordList("lists.VirusNetskySubject", $Subject) && @InWordList("lists.VirusNetskyAttachment", $attname)) SET $spamlevel += 101 AND $spamtests += "VIRUS_ALERT;"
行番号84と85は、添付ファイル名が検出されたかどうかをチェックし、添付ファイル名と件名が両方とも[Filters]フォルダにあるlists.VirusNetskyAttachmentリストに登録されているかどうかを調べます。テストがTRUEを返した場合の動作を、不達メッセージを送信するかスパムスコアを101加算するかのどちらに決めて、一方のルールを無効にしなければなりません。
86 #
87 # rules to deal with spam level, processed at the end of the message
88 #
89 .: IF ($#BODY < 10 && ($#IMG + $#URL) > 0) SET $spamlevel += 101 AND $spamtests += "EMPTY_BODY_WITH_LINKS;"
90 .: IF ($imgtracking) SET $spamtests += "IMG_TRACKING;"
91 .: IF ($singlepixelimg) SET $spamtests += "SINGLE_PIXEL_IMG;"
92 .: IF ($dotbizurl>1) SET $spamtests += "DOT_BIZ_URLS;"
93 .: IF ($dotbizurl==1) SET $spamtests += "DOT_BIZ_URL;"
94 .: IF ($stealthimg) SET $spamtests += "STEALTH_IMG;"
95 .: IF ($stealthurl) SET $spamtests += "STEALTH_URL;"
96 .: IF ($aturl>0) SET $spamtests += "AT_URL;"
97 .: IF ($InvisibleText) SET $spamtests += "INVISIBLE_TEXT;"
98 .: IF ($InvisibleText || $imgtracking || $singlepixelimg || $dotbizurl || $stealthurl || $aturl>0) SET $spamlevel += 101
行番号89と98は、メッセージの末尾で実行され、どのスパムテストが成功したかを調べます。1つでもTRUEを返したテストがあれば、スパムスコアを合計で101加算します。
99 .: IF ($spamlevel > $HighSpamMax && $XtremeCausesNDN) STRIKE # this action must come before the NDN action
100 .: IF ($spamlevel > $HighSpamMax && $XtremeCausesNDN) NDN 550 "$sorry"
101 # the next rules apply if the NDN is not sent
102 .: IF ($spamlevel > $HighSpamMax) INJECT "X-SPAM-Warning: EXTREME"
103 .: IF ($MedSpamMax < $spamlevel && $spamlevel <= $HighSpamMax) INJECT "X-SPAM-Warning: HIGH"
104 .: IF ($LowSpamMax < $spamlevel && $spamlevel <= $MedSpamMax) INJECT "X-SPAM-Warning: MEDIUM"
105 .: IF ($LowSpamMin <= $spamlevel && $spamlevel <= $LowSpamMax) INJECT "X-SPAM-Warning: LOW"
行番号99は、$XtremeCausesNDNが1に設定されている場合、HighSpamMaxより高いスパムスコアのメッセージの差出人にスパムブロックを適用します。この行は、対象のメッセージに不達メッセージを返す動作をする行番号100よりも前に記述しなければなりません。
行番号102と105は、X-SPAMヘッダをメッセージに挿入し、メッセージにスパムスコアが設定されたことを示します。行番号15と16で設定した値に基づいて、4つの異なるレベルが設定されます。
106 .: IF ($MedSpamMax < $spamlevel) SPAM
メッセージのスパムスコアが$MedSpamMaxより高い場合、そのメッセージはスパムとみなされ、機械によって生成された「ジャンク」メッセージと判定されます。
107 .: IF ($HighSpamMax < $spamlevel) SPAMSUSPECTED
メッセージのスコアが$HighSpamMaxより高い場合、そのメッセージはスパムの疑いがあるとみなされ、[インターネットモニタ(Internet Monitor)]フォームの[悪用やDoS攻撃の疑いがあるサイト]のリストに登録されます。
108 .: IF ($spamlevel > $LowSpamMax) INJECT "X-FC-Options: suppress-ndn"
メッセージのスコアが$LowSpamMaxより高い場合、そのメッセージを配信できないなら不達メッセージを送信しないようサーバに指示するオプションを設定します。これは、スパムメッセージには不達メッセージを返信する有効なアドレスがないか、有効なアドレスがあっても不達メッセージを送信したくないであろうという考えに基づいてます。
109 .: IF ($spamlevel >= $LowSpamMin) INJECT "X-SPAM-Level: $spamlevel"
行番号109は、メッセージヘッダにスパムスコアの数値を挿入します。
110 .: IF ($spamlevel >= $LowSpamMin) INJECT "X-SPAM-Tests: $spamtests"
行番号110は、メッセージヘッダにスパムテストに不合格であったことを表すテキストを挿入します。
111 .: IF ($MedSpamMax < $spamlevel) INJECT "X-FC-Icon-ID: 23048"
112 .: IF ($LowSpamMax < $spamlevel && $spamlevel <= $MedSpamMax) INJECT "X-FC-Icon-ID: 23049"
113 .: IF ($LowSpamMin <= $spamlevel && $spamlevel <= $LowSpamMax) INJECT "X-FC-Icon-ID: 23050"
行番号111から113は、スパムレベルに応じてヘッダにアイコンIDを挿入します。スパムスコアがHIGH(高)かそれより大きい場合、メールのアイコンは赤い丸印付きになります。スパムスコアがMEDIUM(中)の場合、オレンジの丸印が使用されます。スパムスコアがLOW(低)のメッセージは、緑色の丸印付きアイコンになります。
| ||