NAME
Mail::AuthenticationResults::SpamAssassin - SpamAssassin plugin for parsing Authentication-Results headers via Mail::AuthenticationResults
VERSION
version 1.20200220
DESCRIPTION
Process Authentication-Results in Spam Assassin
CONSTRUCTOR
new()
Create a SpamAssassin plugin which subclasses this class
package AuthenticationResults; use base 'Mail::AuthenticationResults::SpamAssassin'; 1;
Load that pluigin into SpamAssassin and set the authserv-id for the headers we should be checking
loadplugin AuthenticationResults AuthenticationResults.pm authentication_results_authserv_id .example.com
METHODS
parse_config()
SpamAssassin plugin method to handle config entries
authentication_results_has_key_value( $key, $value )
eval method, returns true if there is an authentication-results entry with the given key and value.
header PTR_FAIL eval:authentication_results_has_key_value('x-ptr','fail') score PTR_FAIL 1
header IPREV_FAIL eval:authentication_results_has_key_value('iprev','fail') score IPREV_FAIL 1
header RETURN_FAIL eval:authentication_results_has_key_value('x-return-mx','fail') RETURN_FAIL 2
header RETURN_WARN eval:authentication_results_has_key_value('x-return-mx','warn') RETURN_WARN 1
header __SPF_ERROR eval:authentication_results_has_key_value('spf','error') header __SPF_PERMERROR eval:authentication_results_has_key_value('spf','permerror') header __SPF_TEMPERROR eval:authentication_results_has_key_value('spf','temperror') meta SPF_ERROR __SPF_ERROR || __SPF_PERMERROR || __SPF_TEMPERROR score SPF_ERROR 1
authentication_results_spf_fail()
eval method, returns true if there is an authentication-results entry for an spf fail which does not also have a non fail entry for the same domain (as for example, would happen when a trusted ARC forwarded adds a pass).
header SPF_FAIL eval:authentication_results_spf_fail() score SPF_FAIL 1
authentication_results_dmarc_list_override()
eval method, returns true if there was a DMARC override for a failing reject/quarantine policy due to detecting a list with a simple header check? (not a whitelist or arc)
header DMARC_LIST_OVERRIDE eval:authentication_results_dmarc_list_override() score DMARC_LIST_OVERRIDE 2
DMARC Reject should be handled on the border, if not then we class this as a local policy override to quarantine.
DMARC Quarantine is handled by the X-Disposition-Quarantine: header
header DMARC_QUARANTINE X-Disposition-Quarantine =~ /\S/ score DMARC_QUARANTINE 10.0
AUTHOR
Marc Bradshaw <marc@marcbradshaw.net>
COPYRIGHT AND LICENSE
This software is copyright (c) 2018 by Marc Bradshaw.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.