조건이 있는 경우 exim의 특정 필드를 우회합니다.

조건이 있는 경우 exim의 특정 필드를 우회합니다.

메시지 본문과 헤더에서 스패머를 검색하고 필터링할 수 있도록 /etc/cpanel_exim_system_filter에 이 코드가 있습니다. *@gmail.com, *@mail.com과 같이 이 규칙을 제외하기 위해 일부 도메인을 추가하고 싶습니다. 이러한 도메인을 제외하도록 if 명령을 확장하려면 어떻게 해야 합니까?

# SPAM FILTER START
if
# Header Spam
$header_subject: contains "Pharmaceutical"
or $header_subject: contains "Viagra"
or $header_subject: contains "seo"
or $header_subject: contains "Cialis"
or $header_subject: is "The Ultimate Online Pharmaceutical"
# Body Spam
or $message_body: contains "Pharmaceutical"
or $message_body: contains "website audit"
or $message_body: contains "Pay-On-Results"
or $message_body: contains "improve your website"
or $message_body: contains "Viagra"
or $message_body: contains "sex"
or $message_body: contains "seo"
then
  fail text "This message has been rejected by spam filter\n\
             WARNING! THIS MESSAGE HAS NOT BEEN delivered."
        seen finish
endif
# SPAM FILTER FINISHED

답변1

From 헤더의 끝을 테스트할 수 있습니다. 예를 들어 다음과 같습니다.

$header_from: does not end <whitelisted domain>

결과는 다음과 같습니다.

if
# Excluded domains
$header_from: does not end "example.com"
and $header_from: does not end "example.org"
...
and (
# Header Spam
$header_subject: contains "Pharmaceutical"
or ...
# Body Spam
or ...
)
then
  fail text "This message has been rejected by spam filter\n\
             WARNING! THIS MESSAGE HAS NOT BEEN delivered."
        seen finish
endif

추가 정보:http://www.exim.org/exim-html-current/doc/html/spec_html/filter_ch-exim_filter_files.html#SEC23

관련 정보