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

FreeBSD Manual Pages


home | help
Mail::SPF::Record(3)  User Contributed Perl Documentation Mail::SPF::Record(3)

       Mail::SPF::Record - Abstract base class for SPF records

   Creating a record from a string
	   use Mail::SPF::v1::Record;

	   my $record =	Mail::SPF::v1::Record->new_from_string("v=spf1 a mx -all");

   Creating a record synthetically
	   use Mail::SPF::v2::Record;

	   my $record =	Mail::SPF::v2::Record->new(
	       scopes	   => ['mfrom',	'pra'],
	       terms	   => [
		   Mail::SPF::Mech::All->new(qualifier => '-')
	       global_mods => [
		   Mail::SPF::Mod::Exp->new(domain_spec	=> '')

       Mail::SPF::Record is an abstract	base class for SPF records.  It	cannot
       be instantiated directly.  Create an instance of	a concrete sub-class

       The following constructors are provided:

       new(%options): returns Mail::SPF::Record
	   Creates a new SPF record object.

	   %options is a list of key/value pairs representing any of the
	   following options:

	       A string	denoting the unparsed text of the record.

	       A reference to an array of strings denoting the scopes that are
	       covered by the record (see the description of the "scope"
	       option of Mail::SPF::Request's "new" constructor).

	       A reference to an array of Mail::SPF::Term (i.e.
	       Mail::SPF::Mech or Mail::SPF::Mod) objects that make up the
	       record.	Mail::SPF::GlobalMod objects must not be included
	       here, but should	be specified using the "global_mods" option

	       A reference to an array of Mail::SPF::GlobalMod objects that
	       are global modifiers of the record.

       new_from_string($text, %options): returns Mail::SPF::Record; throws
       Mail::SPF::ENothingToParse, Mail::SPF::EInvalidRecordVersion,
	   Creates a new SPF record object by parsing the string and any
	   options given.

   Class methods
       The following class methods are provided:

       version_tag_pattern: returns Regexp
	   Abstract.  Returns a	regular	expression that	matches	a legal
	   version tag.

	   This	method is abstract and must be implemented by sub-classes of

       default_qualifier: returns string
	   Returns the default qualifier, i.e. '+'.

       results_by_qualifier: returns hash of string
	   Returns a reference to a hash that maps qualifiers to result	codes
	   as follows:

		Qualifier | Result code
		    +	  | pass
		    -	  | fail
		    ~	  | softfail
		    ?	  | neutral

   Instance methods
       The following instance methods are provided:

       text: returns string; throws Mail::SPF::ENoUnparsedText
	   Returns the unparsed	text of	the record.  Throws a
	   Mail::SPF::ENoUnparsedText exception	if the record was created
	   synthetically instead of being parsed, and no text was provided.

       version_tag: returns string
	   Abstract.  Returns the version tag of the record.

	   This	method is abstract and must be implemented by sub-classes of

       scopes: returns list of string
	   Returns a list of the scopes	that are covered by the	record.	 See
	   the description of the "new"	constructor's "scopes" option.

       terms: returns list of Mail::SPF::Term
	   Returns a list of the terms that make up the	record,	excluding any
	   global modifiers, which are returned	by the "global_mods" method.
	   See the description of the "new" constructor's "terms" option.

       global_mods: returns list of Mail::SPF::GlobalMod
	   Returns a list of the global	modifiers of the record, ordered
	   ascending by	modifier precedence.  See the description of the "new"
	   constructor's "global_mods" option.

       global_mod($mod_name): returns Mail::SPF::GlobalMod
	   Returns the global modifier of the given name if it is present in
	   the record.	Returns	undef otherwise.  Use this method if you wish
	   to retrieve a specific global modifier as opposed to	getting	all of

       stringify: returns string
	   Returns the record's	version	tag and	terms (including the global
	   modifiers) formatted	as a string.  You can simply use a
	   Mail::SPF::Record object as a string	for the	same effect, see

       eval($server, $request):	throws Mail::SPF::Result
	   Evaluates the SPF record in the context of the request parameters
	   represented by the given Mail::SPF::Request object.	The given
	   Mail::SPF::Server object is used for	performing DNS look-ups.
	   Throws a Mail::SPF::Result object matching the outcome of the
	   evaluation; see Mail::SPF::Result.  See RFC 4408, 4.6 and 4.7, for
	   the exact algorithm used.

       If a Mail::SPF::Record object is	used as	a string, the "stringify"
       method is used to convert the object into a string.

       Mail::SPF, Mail::SPF::v1::Record, Mail::SPF::v2::Record,
       Mail::SPF::Term,	Mail::SPF::Mech, Mail::SPF::Mod


       For availability, support, and license information, see the README file
       included	with Mail::SPF.

       Julian Mehnle <>, Shevek <>

perl v5.32.1			  2021-11-04		  Mail::SPF::Record(3)


Want to link to this manual page? Use this URL:

home | help