Fedora 24에서 Sendmail 버전 8.15.2를 실행할 때 대량의 스팸이 (하위 도메인).(다도메인).us에서 옵니다. 하위 도메인이 있는 .us TLD를 차단하기 위해 액세스 파일에서 사용할 수 있는 것과 같은 필터를 추가하고 싶습니다. 예: mail.us ---> OK everything.mail.us ---> 거부
정규식은 다음 중 하나와 유사할 수 있습니다.
[a-zA-Z_0-9.-]+@[a-zA-Z_0-9-]+?\.+[a-zA-Z_0-9.-]+?\.(us)$
또는
|(.*\d.*\.us$)
이 위치가 sendmail.mc 파일에 있습니까? 파일에 액세스하는 데 정규 표현식이 작동하지 않는다고 생각합니다. SpamAssassin 및 RBL(예: Spamhaus)은 이를 포착하기 시작해야 하지만 다음은 거짓 긍정의 예입니다.
Return-Path: <[email protected]>
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on
ourdomain
X-Spam-Level: ***
X-Spam-Status: No, score=3.1 required=5.0 tests=BAYES_00,FROM_WORDY,
HTML_FONT_LOW_CONTRAST,HTML_MESSAGE,RDNS_NONE,SPF_HELO_PASS,SPF_PASS,
T_HTML_TAG_BALANCE_CENTER,T_REMOTE_IMAGE,URIBL_BLACK autolearn=no
autolearn_force=no version=3.4.1
답변1
알겠어요! sendmail.mc 파일의 정규식에는 LOCAL_CONFIG 앞에 들여쓰기와 추가 줄 공간이 필요한 것으로 나타납니다. 이에 대한 모자 팁XIITEC 블로그 게시물단서도 찾아보세요이메일 레시피.
LOCAL_CONFIG
# this will block subdomain.domain.us or subdomain.domain.info but not domain.us or domain.info
Kcheckaddress regex -a@MATCH
[a-zA-Z_0-9.-]+<@[a-zA-Z_0-9-]+?\.+[a-zA-Z_0-9.-]+?\.(us|info)
HMessage-Id: $>CheckMessageId
SCheckMessageId
R< $+ @ $+ > $@ OK
R$* $#error $: "553 Header error"
LOCAL_RULESETS
SLocal_check_mail
R$* $: $>Parse0 $>3 $1
R$+ $: $(checkaddress $1 $)
R@MATCH $#error $: "553 Your Domain is Blocked for Unsolicited Mail"
작동한다는 증거는 다음과 같습니다.
sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> Local_check_mail [email protected]
Local_check_mail input: 123 @ aol . com
canonify input: 123 @ aol . com
Canonify2 input: 123 < @ aol . com >
Canonify2 returns: 123 < @ aol . com . >
canonify returns: 123 < @ aol . com . >
Parse0 input: 123 < @ aol . com . >
Parse0 returns: 123 < @ aol . com . >
Local_check_mail returns: 123 < @ aol . com . >
> Local_check_mail [email protected]
Local_check_mail input: 123 @ aol . com . us
canonify input: 123 @ aol . com . us
Canonify2 input: 123 < @ aol . com . us >
Canonify2 returns: 123 < @ aol . com . us >
canonify returns: 123 < @ aol . com . us >
Parse0 input: 123 < @ aol . com . us >
Parse0 returns: 123 < @ aol . com . us >
Local_check_mail returns: $# error $: "553 Your Domain is Blocked for Unsolicited Mail"