sendmail의 access_db 기능에 대해 읽고 있습니다. 스팸메일을 예방하는 방법으로 유망해 보입니다.
access_db 사용 방법과 관련된 몇 가지 질문이 있습니다. 그래서 기본적으로 나는 액세스 파일에 일련의 규칙을 지정하고 sendmail은 이 데이터베이스를 검사하여 이메일에 대해 어떤 조치를 취해야 하는지 확인합니다.
- 특정 규칙에 맞지 않는 메일은 어떻습니까? 기본 동작은 무엇입니까?
- 정규식을 사용할 수 있나요? 예를 들어 "To:*@spam.com REJECT"가 작동하나요?
- "paypal.com RELAY"만 있는 경우, 내 sendmail이 paypal.com에서 보내거나 받는 이메일을 수락하고 보낸다는 의미인가요?
정말 감사합니다!
답변1
- 규칙이 access_db의 규칙과 일치하지 않으면 메시지 수락 또는 거부에 영향을 미치지 않습니다. 메시지는 나머지 규칙에 따라 계속 처리됩니다.
- access_db(및 정규식이 아닌 와일드카드)에 대해 설명합니다.여기. 정규식을 원하면 access_db 동작을 모방하지만 정규식 맵을 사용하는 자체 규칙 세트를 작성하거나 다음과 같은 밀터를 사용해야 합니다.MIME디팡, 또는밀터 정규식.
- 규칙이 호스트에 연결하는 호스트의 도메인 이름에 관한 것인지 아니면 보낸 사람 주소의 도메인 이름에 관한 것인지 생각할 필요가 없도록 일반 IP 주소나 도메인으로 시작하거나 대신하는 규칙을
From:
사용 하는 것이 가장 좋습니다 .Connect:
(반드시 동일하지는 않습니다).
답변2
Sendmail에서 정규식을 사용하는 방법
나는 3456.com과 같은 모든 숫자 도메인으로부터 스팸을 받고 있었습니다. 처음에는 access.db에 10,000개의 항목을 추가했는데, 그건 말도 안 되는 일이었습니다.
sendmail.mc 파일 하단의 메일러 뒤에 다음과 같은 정규식을 추가할 수 있습니다.
LOCAL_CONFIG
Kallnumbers regex -a@MATCH @[0-9]+\.com
LOCAL_RULESETS
SLocal_check_mail
R$+ $: $(allnumbers $1 $)
R@MATCH $#error $: "550 Rejected."
대부분의 내용을 그대로 복사할 수 있으며 몇 가지만 변경하면 됩니다.
정규식을 정의하고 식별자를 부여한 다음 앞에 K
내 식별자를 붙이고 allnumbers
내 정규식은 다음과 같습니다.[0-9]+\.com
Kallnumbers regex -a@MATCH @[0-9]+\.com
마지막 두 개는 일치 항목과 취해지는 조치를 정의합니다.
R$+ $: $(allnumbers $1 $)
R@MATCH $#error $: "550 Rejected.
나는 그것이 매우 CF처럼 보이지만 MC에 들어간다는 것을 알고 있습니다.