# SpamAssassin - SPF rules
#
# Please don't modify this file as your changes will be overwritten with
# the next update. Use @@LOCAL_RULES_DIR@@/local.cf instead.
# See 'perldoc Mail::SpamAssassin::Conf' for details.
#
# <@LICENSE>
# Copyright 2004 Apache Software Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# </@LICENSE>
#
###########################################################################

# Requires the Mail::SpamAssassin::Plugin::SPF plugin be loaded.

ifplugin Mail::SpamAssassin::Plugin::SPF

# SPF support.  "pass" is nice, "fail" is bad, "softfail" is bad, but
# not as bad as "fail". ;)   These are more trustworthy results than
# the SPF_HELO rules.

header SPF_PASS		        eval:check_for_spf_pass()
header SPF_FAIL			eval:check_for_spf_fail()
header SPF_SOFTFAIL		eval:check_for_spf_softfail()

# NOTE: SPF_HELO_PASS is not incredibly hard to fake, so shouldn't
# provide much in the way of points compared to SPF_PASS et al.
# However, a *failure* is still a very good spamsign.

header SPF_HELO_PASS		eval:check_for_spf_helo_pass()
header SPF_HELO_FAIL		eval:check_for_spf_helo_fail()
header SPF_HELO_SOFTFAIL	eval:check_for_spf_helo_softfail()

describe SPF_PASS		SPF: sender matches SPF record
describe SPF_FAIL		SPF: sender does not match SPF record (fail)
describe SPF_SOFTFAIL		SPF: sender does not match SPF record (softfail)
describe SPF_HELO_PASS	        SPF: HELO matches SPF record
describe SPF_HELO_FAIL		SPF: HELO does not match SPF record (fail)
describe SPF_HELO_SOFTFAIL	SPF: HELO does not match SPF record (softfail)

tflags SPF_PASS		        net nice userconf
tflags SPF_FAIL			net
tflags SPF_SOFTFAIL		net
tflags SPF_HELO_PASS		net nice userconf
tflags SPF_HELO_FAIL		net
tflags SPF_HELO_SOFTFAIL	net

endif   # Mail::SpamAssassin::Plugin::SPF
