Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SPFQUERY(1)	      User Contributed Perl Documentation	   SPFQUERY(1)

NAME
       spfquery	- (Mail::SPF) -	Checks if a given set of e-mail	parameters
       matches a domain's SPF policy

VERSION
       2.501

SYNOPSIS
       Preferred usage:
	   spfquery [--versions|-v 1|2|1,2] [--scope|-s	helo|mfrom|pra]
	   --identity|--id identity --ip-address|--ip ip-address
	   [--helo-identity|--helo-id helo-identity] [OPTIONS]

	   spfquery [--versions|-v 1|2|1,2] [--scope|-s	helo|mfrom|pra]
	   --file|-f filename|-	[OPTIONS]

       Legacy usage:
	   spfquery --helo helo-identity --ip-address|--ip ip-address
	   [OPTIONS]

	   spfquery --mfrom mfrom-identity --ip-address|--ip ip-address
	   [--helo helo-identity] [OPTIONS]

	   spfquery --pra pra-identity --ip-address|--ip ip-address [OPTIONS]

       Other usage:
	   spfquery --version|-V

	   spfquery --help

DESCRIPTION
       spfquery	checks if a given set of e-mail	parameters (e.g., the SMTP
       sender's	IP address) matches the	responsible domain's Sender Policy
       Framework (SPF) policy.	For more information on	SPF see
       <http://www.openspf.org>.

   Preferred Usage
       The following usage forms are preferred over the	legacy forms used by
       older spfquery versions:

       The --identity form checks if the given ip-address is an	authorized
       SMTP sender for the given "helo"	hostname, "mfrom" envelope sender
       e-mail address, or "pra"	(so-called purported resonsible	address)
       e-mail address, depending on the	value of the --scope option (which
       defaults	to mfrom if omitted).

       The --file form reads "ip-address identity [helo-identity]" tuples from
       the file	with the specified filename, or	from standard input if
       filename	is -, and checks them against the specified scope (mfrom by
       default).

       Both forms support an optional --versions option, which specifies a
       comma-separated list of the SPF version numbers of SPF records that may
       be used.	 1 means that "v=spf1" records should be used.	2 means	that
       "spf2.0"	records	should be used.	 Defaults to 1,2, i.e.,	uses any SPF
       records that are	available.  Records of a higher	version	are preferred.

   Legacy Usage
       spfquery	versions before	2.500 featured the following usage forms,
       which are discouraged but still supported for backwards compatibility:

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

       The --mfrom form	checks if the given ip-address is an authorized	SMTP
       sender for the envelope sender email-address (or	domain)	given as the
       identity	(so-called "MAIL FROM" check).	If a domain is given instead
       of an e-mail address, "postmaster" will be substituted for the
       localpart.

       The --pra form checks if	the given ip-address is	an authorized SMTP
       sender for the PRA (Purported Responsible Address) e-mail address given
       as the identity.

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

OPTIONS
   Standard Options
       The preferred and legacy	forms optionally take any of the following
       OPTIONS:

       --default-explanation string
       --def-exp string
	   Use the specified string as the default explanation if the
	   authority domain does not specify an	explanation string of its own.

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

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

       --sanitize (currently ignored)
       --no-sanitize (currently	ignored)
	   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.

       --debug (currently ignored)
	   Print out debug information.

   Black Magic Options
       Several options that were supported by earlier versions of spfquery are
       considered black	magic (i.e. potentially	dangerous for the innocent
       user) and are thus disabled by default.	If the Mail::SPF::BlackMagic
       Perl module is installed, they may be enabled by	specifying
       --enable-black-magic.

       --max-dns-interactive-terms n
	   Evaluate a maximum of n DNS-interactive mechanisms and modifiers
	   per SPF check.  Defaults to 10.  Do not override the	default	unless
	   you know what you are doing!

       --max-name-lookups-per-term n
	   Perform a maximum of	n DNS name look-ups per	mechanism or modifier.
	   Defaults to 10.  Do not override the	default	unless you know	what
	   you are doing!

       --authorize-mxes-for email-address|domain,...
	   Consider all	the MXes of the	comma-separated	list of	email-
	   addresses and domains as inherently authorized.

       --tfwl
	   Perform "trusted-forwarder.org" accreditation checking.

       --guess spf-terms
	   Use spf-terms as a default record if	no SPF record is found.

       --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".

       --override domain=spf-record
       --fallback domain=spf-record
	   Set overrides and fallbacks.	 Each option can be specified multiple
	   times.  For example:

	       --override example.org='v=spf1 -all'
	       --override '*.example.net'='v=spf1 a mx -all'
	       --fallback example.com='v=spf1 -all'

RESULT CODES
       pass	   The specified IP address is an authorized SMTP sender for
		   the identity.

       fail	   The specified IP address is not an authorized SMTP sender
		   for the identity.

       softfail	   The specified IP address is not an authorized SMTP sender
		   for the identity, however the authority domain is still
		   testing out its SPF policy.

       neutral	   The identity's authority domain makes no assertion about
		   the status of the IP	address.

       permerror   A permanent error occurred while evaluating the authority
		   domain's policy (e.g., a syntax error in the	SPF record).
		   Manual intervention is required from	the authority domain.

       temperror   A temporary error occurred while evaluating the authority
		   domain's policy (e.g., a DNS	error).	 Try again later.

       none	   There is no applicable SPF policy for the identity domain.

EXIT CODES
	 Result	   | Exit code
	-----------+-----------
	 pass	   |	 0
	 fail	   |	 1
	 softfail  |	 2
	 neutral   |	 3
	 permerror |	 4
	 temperror |	 5
	 none	   |	 6

EXAMPLES
	   spfquery --scope mfrom --id user@example.com	--ip 1.2.3.4
	   spfquery --file test_data
	   echo	"127.0.0.1 user@example.com helohost.example.com" | spfquery -f	-

COMPATIBILITY
       spfquery	has undergone the following interface changes compared to
       earlier versions:

       2.500
	   o   A new preferred usage style for performing individual SPF
	       checks has been introduced.  The	new style accepts a unified
	       --identity option and an	optional --scope option	that specifies
	       the type	(scope)	of the identity.  In contrast, the legacy
	       usage style requires a separate usage form for every supported
	       scope.  See "Preferred usage" and "Legacy usage"	for details.

	   o   The former "unknown" and	"error"	result codes have been renamed
	       to "permerror" and "temperror", respectively, in	order to
	       comply with RFC 4408 terminology.

	   o   SPF checks with an empty	identity are no	longer supported.  In
	       the case	of an empty "MAIL FROM"	SMTP transaction parameter,
	       perform a check with the	"helo" scope directly.

	   o   The --debug and --(no-)sanitize options are currently ignored
	       by this version of spfquery.  They will again be	supported in
	       the future.

	   o   Several features	that were supported by earlier versions	of
	       spfquery	are considered black magic and thus are	now disabled
	       by default.  See	"Black Magic Options".

	   o   Several option names have been deprecated.  This	is a list of
	       them and	their preferred	synonyms:

		 Deprecated options  | Preferred options
		---------------------+-----------------------------
		 --sender, -s	     | --mfrom
		 --ipv4, -i	     | --ip-address, --ip
		 --name		     | --hostname
		 --max-lookup-count, | --max-dns-interactive-terms
		   --max-lookup	     |
		 --rcpt-to, -r	     | --authorize-mxes-for
		 --trusted	     | --tfwl

SEE ALSO
       Mail::SPF, spfd(8)

       <http://tools.ietf.org/html/rfc4408>

AUTHORS
       This version of spfquery	is a complete rewrite by Julian	Mehnle
       <julian@mehnle.net>, based on an	earlier	version	written	by Meng	Weng
       Wong <mengwong+spf@pobox.com> and Wayne Schlitt <wayne@schlitt.net>.

perl v5.24.1			  2017-07-02			   SPFQUERY(1)

NAME | VERSION | SYNOPSIS | DESCRIPTION | OPTIONS | RESULT CODES | EXIT CODES | EXAMPLES | COMPATIBILITY | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=spfquery.pl&sektion=1&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help