1Mail::DKIM::AuthorDomaiUnsPeorliCcoyn(t3r)ibuted Perl DoMcauimle:n:tDaKtIiMo:n:AuthorDomainPolicy(3)
2
3
4

NAME

6       Mail::DKIM::AuthorDomainPolicy - represents an Author Domain Signing
7       Practices (ADSP) record
8

VERSION

10       version 1.20220520
11

DESCRIPTION

13       The Author Domain Signing Policies (ADSP) record can be published by
14       any domain to help a receiver know what to do when it encounters an
15       unsigned message claiming to originate from that domain.
16
17       The record is published as a DNS TXT record at _adsp._domainkey.DOMAIN
18       where DOMAIN is the domain of the message's "From" address.
19
20       More details about this record can be found by reading the
21       specification itself at <http://tools.ietf.org/html/rfc5617>.
22

CONSTRUCTORS

24   fetch()
25       Lookup an ADSP record in DNS.
26
27         my $policy = Mail::DKIM::AuthorDomainPolicy->fetch(
28                   Protocol => 'dns',
29                   Author => 'jsmith@example.org',
30                 );
31
32       If the ADSP record is found and appears to be valid, an object
33       containing that record's information will be constructed and returned.
34       If the ADSP record is blank or simply does not exist, an object
35       representing the default policy will be returned instead.  (See also
36       "is_implied_default_policy()".)  If a DNS error occurs (e.g. SERVFAIL
37       or time-out), this method will "die".
38
39   new()
40       Construct a default policy object.
41
42         my $policy = Mail::DKIM::AuthorDomainPolicy->new;
43
44   parse()
45       Construct an ADSP record from a string.
46
47         my $policy = Mail::DKIM::AuthorDomainPolicy->parse(
48                 String => 'dkim=all',
49                 Domain => 'aaa.example',
50             );
51

METHODS

53   apply()
54       Apply the policy to the results of a DKIM verifier.
55
56         my $result = $policy->apply($dkim_verifier);
57
58       The caller must provide an instance of Mail::DKIM::Verifier, one which
59       has already been fed the message being verified.
60
61       Possible results are:
62
63       accept
64           The message is approved by the sender signing policy.
65
66       reject
67           The message is rejected by the sender signing policy.  It can be
68           considered very suspicious.
69
70       neutral
71           The message is neither approved nor rejected by the sender signing
72           policy. It can be considered somewhat suspicious.
73
74       Note: in the future, these values may become:
75        none - no ADSP record is published
76        pass - a passing signature is present
77        fail - ADSP record is "all" and no passing signature is found
78        discard - ADSP record is "discardable" and no passing signature is
79       found
80        nxdomain - the DNS domain does not exist
81        temperror - transient error occurred
82        permerror - non-transient error occurred
83
84   is_implied_default_policy()
85       Tells whether this policy implied.
86
87         my $is_implied = $policy->is_implied_default_policy;
88
89       If you fetch the policy for a particular domain, but that domain does
90       not have a policy published, then the "default policy" is in effect.
91       Use this method to detect when that happens.
92
93   location()
94       Tells where the policy was fetched from.
95
96       If the policy is domain-wide, this will be domain where the policy was
97       published.
98
99       If the policy is user-specific, TBD.
100
101       If nothing is published for the domain, and the default policy was
102       returned instead, the location will be "undef".
103
104   policy()
105       Get or set the outbound signing policy (dkim=) tag.
106
107         my $sp = $policy->policy;
108
109       Outbound signing policy for the entity. Possible values are:
110
111       "unknown"
112           The default. The entity may sign some or all email.
113
114       "all"
115           All mail from the domain is expected to be signed, using a valid
116           Author signature, but the author does not suggest discarding mail
117           without a valid signature.
118
119       "discardable"
120           All mail from the domain is expected to be signed, using a valid
121           Author signature, and the author is so confident that non-signed
122           mail claiming to be from this domain can be automatically discarded
123           by the recipient's mail server.
124
125       "NXDOMAIN"
126           The domain is out of scope, i.e., the domain does not exist in the
127           DNS.
128
129   signall()
130       True if policy is "all".
131
132   signall_discardable()
133       True if policy is "strict".
134

BUGS

136       •   Section 4.3 of the specification says to perform a query on the
137           domain itself just to see if it exists. This class is not currently
138           doing that, i.e. it might report NXDOMAIN because
139           _adsp._domainkey.example.org is nonexistent, but it should not be
140           treated the same as example.org being nonexistent.
141

AUTHORS

143       •   Jason Long <jason@long.name>
144
145       •   Marc Bradshaw <marc@marcbradshaw.net>
146
147       •   Bron Gondwana <brong@fastmailteam.com> (ARC)
148

THANKS

150       Work on ensuring that this module passes the ARC test suite was
151       generously sponsored by Valimail (https://www.valimail.com/)
152
154       •   Copyright (C) 2013 by Messiah College
155
156       •   Copyright (C) 2010 by Jason Long
157
158       •   Copyright (C) 2017 by Standcore LLC
159
160       •   Copyright (C) 2020 by FastMail Pty Ltd
161
162       This library is free software; you can redistribute it and/or modify it
163       under the same terms as Perl itself, either Perl version 5.8.6 or, at
164       your option, any later version of Perl 5 you may have available.
165
166
167
168perl v5.36.0                      2023-01-20 Mail::DKIM::AuthorDomainPolicy(3)
Impressum