Spamfilter för Postfix
Spam Scanner filtrerar en Postfix-server på ungefär fem minuter. Det körs som en milterE-postfilter: ett protokoll från Sendmail, som även används av Postfix, och som låter ett separat program granska varje meddelande under SMTP-sessionen., så Postfix frågar det om varje meddelande under SMTP-sessionen och kan neka spam innan den tas emot.
Installera och kör#
npm install --global spamscanner
spamscanner milter --port 7831 --auth --subject-tag "[SPAM]"--auth kontrollerar SPFSender Policy Framework: en DNS-post som listar de servrar som får skicka e-post för en domän., DKIMDomainKeys Identified Mail: en signatur över ett meddelande, som kontrolleras med en publik nyckel publicerad i avsändarens DNS., DMARCEn DNS-policy som talar om för mottagare vad de ska göra när e-post som utger sig för att komma från en domän inte klarar SPF- och DKIM-anpassningen. och ARCAuthenticated Received Chain: signaturer som för autentiseringsresultat vidare genom servrar som vidarebefordrar e-post.; --subject-tag markerar spam i ämnesraden. Varje meddelande får huvudena X-Spam-Flag, X-Spam-Score, X-Spam-Status och X-Spam-Action, och alla X-Spam-*-huvuden som avsändaren lagt in tas bort först.
Anslut Postfix#
# /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:7831
milter_protocol = 6
milter_default_action = acceptsudo postfix reloadmilter_default_action = accept släpper igenom e-post ofiltrerad om miltern är nere; tempfail ber i stället avsändarna att försöka igen.
Neka spam under SMTP-sessionen#
spamscanner milter --port 7831 --auth --rejectMeddelanden som når gränsen för avvisning (15 poäng) nekas med 451 4.7.1 Message rejected as spam. En 451 är tillfällig: avsändaren behåller meddelandet och försöker igen, så ett felaktigt beslut kostar en fördröjning, inte ett förlorat meddelande. När resultaten ser rätt ut gör --reject-code 550 avvisningen permanent.
Utan milter#
Ett innehållsfilter körs efter att Postfix har tagit emot ett meddelande: Postfix skickar det vidare till spamscanner filter, som lägger till huvuden och lämnar tillbaka det. Ingenting nekas någonsin under sessionen, och ett fel skjuter alltid upp leveransen i stället för att studsa meddelandet. Installera innehållsfilter
Spam till skräpposten#
Med Dovecot sorterar en Sieve-regel märkt e-post:
require ["fileinto"];
if header :is "X-Spam-Flag" "YES" { fileinto "Junk"; stop; }Testat mot en riktig Postfix#
Projektets end-to-end-tester kör Postfix med miltern och innehållsfiltret: hamÖnskad e-post: motsatsen till spam. levereras med huvuden och med ett förfalskat X-Spam-Flag borttaget, spam märks, och GTUBEGeneric Test for Unsolicited Bulk Email: en fast sträng som alla spamfilter behandlar som spam, avsedd för tester. nekas med 550 under SMTP-sessionen.
Nästa: den fullständiga guiden för Postfix och Sendmail, med en systemd-enhet och Sendmails INPUT_MAIL_FILTER.