NAME
Mail::DKIM::Policy - abstract base class for originator "signing" policies
SYNOPSIS
# get all policies that apply to a verified message
foreach my $policy ($dkim->policies)
{
# the name of this policy
my $name = $policy->name;
# the location in DNS where this policy was found
my $location = $policy->location;
# apply this policy to the message being verified
my $result = $policy->apply($dkim);
}
DESCRIPTION
Between the various versions of the DomainKeys/DKIM standards, several different forms of sender "signing" policies have been defined. In order for the Mail::DKIM library to support these different policies, it uses several different subclasses. All subclasses support this general interface, so that a program using Mail::DKIM can support any and all policies found for a message.
METHODS
These methods are supported by all classes implementing the Mail::DKIM::Policy interface.
apply()
Apply the policy to the results of a DKIM verifier.
my $result = $policy->apply($dkim_verifier);
The caller must provide an instance of Mail::DKIM::Verifier, one which has already been fed the message being verified.
Possible results are:
- accept
-
The message is approved by the sender signing policy.
- reject
-
The message is rejected by the sender signing policy.
- neutral
-
The message is neither approved nor rejected by the sender signing policy. It can be considered suspicious.
as_string()
The policy as a string.
Note that the string returned by this method will not necessarily have the tags ordered the same as the text record found in DNS.
is_implied_default_policy()
Is this policy implied?
my $is_implied = $policy->is_implied_default_policy;
If you fetch the policy for a particular domain, but that domain does not have a policy published, then the "default policy" is in effect. Use this method to detect when that happens.
location()
Where the policy was fetched from.
This is generally a domain name, the domain name where the policy was published.
If nothing is published for the domain, and the default policy was returned instead, the location will be undef
.
name()
Identify what type of policy this is.
This currently returns strings like "sender", "author", and "ADSP". It is subject to change in the next version of Mail::DKIM.
SEE ALSO
Mail::DKIM::DkPolicy - for RFC4870(historical) DomainKeys sender signing policies
Mail::DKIM::DkimPolicy - for early draft DKIM sender signing policies
Mail::DKIM::AuthorDomainPolicy - for Author Domain Signing Practices (ADSP)
AUTHOR
Jason Long, <jlong@messiah.edu>
COPYRIGHT AND LICENSE
Copyright (C) 2006-2009 by Messiah College
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.