Documentation
¶
Index ¶
- Constants
- Variables
- func DenyBareIP(transaction *msmtpd.Transaction) error
- func DenyDynamicIP(transaction *msmtpd.Transaction) error
- func DenyMalformedDomain(transaction *msmtpd.Transaction) error
- func DenyReverseDNSMismatch(transaction *msmtpd.Transaction) (err error)
- func HateForRDNSMismatch(howMuch uint) msmtpd.HelloChecker
- func SkipHeloCheckForLocal(transaction *msmtpd.Transaction) error
Constants ¶
const DefaultHateForReverseDNSMismatch = 3
DefaultHateForReverseDNSMismatch is how much we punish by default for Reverse DNS mismatch
const IsLocalAddressFlagName = "addr_is_local"
IsLocalAddressFlagName is flag name to mark local remote addresses
Variables ¶
var TopListDomains []string
TopListDomains is array of top list domain suffixes
Functions ¶
func DenyBareIP ¶
func DenyBareIP(transaction *msmtpd.Transaction) error
DenyBareIP denies clients which provide bare IP address in HELO/EHLO command
func DenyDynamicIP ¶
func DenyDynamicIP(transaction *msmtpd.Transaction) error
DenyDynamicIP ensures helo/ehlo does not contain parts if connection IP address like ISP usually do with residential and dynamic IP addresses
func DenyMalformedDomain ¶
func DenyMalformedDomain(transaction *msmtpd.Transaction) error
DenyMalformedDomain checks, if domain in HELO request belongs to top list domains like .ru, .su and so on
func DenyReverseDNSMismatch ¶
func DenyReverseDNSMismatch(transaction *msmtpd.Transaction) (err error)
DenyReverseDNSMismatch is complicated and very strict test which ensures that 1. HELO/EHLO matches any of PTR records resolved for connecting IP 2. PTR records of connecting IP are resolved (aka have DNS A records) into IP addresses including connecting IP This test prevents delivery from majority small GI domains, which are known to be spammy.
func HateForRDNSMismatch ¶
func HateForRDNSMismatch(howMuch uint) msmtpd.HelloChecker
HateForRDNSMismatch is less strict version of DenyReverseDNSMismatch that only applies negative karma for failed RDNS check
func SkipHeloCheckForLocal ¶
func SkipHeloCheckForLocal(transaction *msmtpd.Transaction) error
SkipHeloCheckForLocal allows local clients provide anything in HELO/EHLO
Types ¶
This section is empty.