NAME

spfquery - checks if an IP address is an SPF-authorized SMTP sender for a domain

VERSION

2.2

SYNOPSIS

spfquery --mail-from|-m|--sender|-s email-address|domain --ip|-i ip-address [--rcpt-to|-r email-address] [OPTIONS]

spfquery --helo|-h hostname --ip|-i ip-address [--rcpt-to|-r email-address] [OPTIONS]

spfquery --file|-f filename|- [OPTIONS]

spfquery --version|-V

spfquery --help

DESCRIPTION

spfquery performs Sender Policy Framework (SPF) authorization checks based on the command-line arguments or data given in a file or on standard input. For information on SPF see http://www.openspf.org.

The --mail-from form checks if the given ip-address is an authorized SMTP sender for the given envelope sender domain or email-address (so-called MAIL FROM check).

The --helo form checks if the given ip-address is an authorized SMTP sender for the given HELO hostname (so-called HELO check).

The --file form reads (ip-address, sender-address, helo-hostname) tuples from the file with the specified filename, or from standard input if filename is -.

The --version form prints version information of spfquery. The --help form prints usage information for spfquery.

OPTIONS

The --mail-from, --helo, and --file forms optionally take any of the following additional OPTIONS:

--debug

Print out debug information.

--local spf-terms

Process spf-terms as local policy before resorting to a default result (the implicit or explicit all mechanism at the end of the domain's SPF record). For example, this could be used for white-listing one's secondary MXes: mx:mydomain.example.org.

--trusted
--no-trusted

Do (not) perform trusted-forwarder.org accreditation checking. Disabled by default. This is a non-standard feature.

--guess spf-terms

Use spf-terms as a default record if no SPF record is found. This is a non-standard feature.

--default-explanation string

Use the specified string as the default explanation if the SPF record does not specify an explanation string itself.

--max-lookup-count n

Perform a maximum of n SPF record lookups. Defaults to 10.

--sanitize
--no-sanitize

Do (not) sanitize the output by condensing consecutive white-space into a single space and replacing non-printable characters with question marks. Enabled by default.

--name hostname

Use hostname as the hostname of the local system instead of auto-detecting it.

--override ...
--fallback ...

Set overrides and fallbacks. See Mail::SPF::Query.

--keep-comments
--no-keep-comments

Do (not) print any comments found when reading from a file or from standard input.

RESULT CODES

pass

The specified IP address is an authorized mailer for the sender domain/address.

fail

The specified IP address is not an authorized mailer for the sender domain/address.

softfail

The specified IP address is not an authorized mailer for the sender domain/address, however the domain is still in the process of transitioning to SPF.

neutral

The sender domain makes no assertion about the status of the IP address.

unknown

The sender domain has a syntax error in its SPF record.

error

A temporary DNS error occurred while resolving the sender policy. Try again later.

none

There is no SPF record for the sender domain.

EXIT CODES

0

pass

1

fail

2

softfail

3

neutral

4

unknown

5

error

6

none

EXAMPLES

spfquery -i 11.22.33.44 -m user@example.com -h spammer.example.net
spfquery -f test_data
echo "127.0.0.1 user@example.com helohost.example.com" | spfquery -f -

SEE ALSO

Mail::SPF::Query, spfd

AUTHORS

This version of spfquery was written by Wayne Schlitt <wayne@midwestcs.com>.

This man-page was written by Julian Mehnle <julian@mehnle.net>, based on a man-page written by S. Zachariah Sprackett for an older version of spfquery.