Views:
This appendix includes the error codes for each sender authentication protocols.

Sender Policy Framework (SPF) Error Codes

SPF Error Code Classification

Error Type
Error Codes
Invalid SPF record
3~25, 27~32
No SPF record
2
Internal error
-99, 1, 26

SPF Error Codes

Error Code
Message
-99
Internal error
1
Insufficient memory
2
No SPF record
3
Syntax error
4
Modifiers contain prefixes
5
Invalid characters found
6
Unknown mechanisms found
7
Invalid option found
8
Invalid CIDR length
9
Required option is missing
10
Internal error
11
Invalid %-escape character
12
Invalid macro variable
13
Subdomain truncation depth too large
14
Invalid delimiter character
15
Option string too long
16
Excessive mechanisms
17
Excessive modifiers
18
Excessive DNS lookups used in mechanisms
19
Invalid IPv4 address
20
Invalid IPv6 address
21
Invalid mechanism prefix
22
SPF result is unknown
23
Uninitialized variable
24
Modifier not found
25
Required setting not configured
26
DNS lookup unsuccessful
27
Invalid hostname or format
28
Invalid or missing TLD in hostname
29
Ignore mechanisms after "all:"
30
SPF result is permerror when an include recursive query returns none
31
Recursive include
32
Multiple SPF or TXT records found
51
IP address is 0.0.0.0
52
from and ehlo parameters are null
53
none rule matched
54
neutral rule matched
55
softfail rule matched
56
fail rule matched
57
temperror rule matched
58
permerror rule matched

DomainKeys Identified Mail (DKIM) Error Codes

DKIM Error Code Classification

Error Type
Error Codes
Invalid DKIM record
1, 23~24, 116, 34, 36, 38, 40, 41, 42, 43, 46, 108, 111
No DKIM record
22, 103, 104
Invalid DKIM signature
2~5, 7~21, 25~27, 31~33, 44~45, 102, 105
DKIM signature mismatch
28, 37, 101
Internal error
-1, 6, 39, 107, 112~115 and all others

DKIM Error Codes

Error Code
Message
Result
-1
Internal error
PermError
0
Successful
Pass
1
Unsupported version
Fail
2
Invalid domain (d=/i=)
PermError
3
Signature expired
Fail
4
Signature in the future
Fail
5
x= < t=
Fail
6
Obsolete
Fail
7
Invalid c= value in header
Neutral
8
Invalid c= value in body
Neutral
9
Missing a= value
PermError
10
Invalid a= value
Neutral
11
Missing h= value
PermError
12
Invalid l= value
Neutral
13
Invalid q= value
Neutral
14
Invalid q= option
Neutral
15
Missing d=value
PermError
16
d= value is empty
Neutral
17
Missing s= value
PermError
18
s= value is empty
Neutral
19
Missing b= value
PermError
20
b= value is empty
Neutral
21
b= value is corrupt
PermError
22
No key found in DNS
None
23
Bad DNS reply
Neutral
24
Unsuccessful DNS reply
TempError
25
Missing bh= value
PermError
26
bh= value is empty
Neutral
27
Bad bh= value
PermError
28
Signature mismatch
Fail
29
Unauthorized subdomain
TempError
30
Multiple records returned
TempError
31
h= value is empty
Neutral
32
Missing required entries in h= value
Neutral
33
l= value exceeds body size
Neutral
34
Signing required not met
Neutral
35
Unknown key version
Neutral
36
Unknown key hash
Neutral
37
Signature-key hash mismatch
PermError
38
Not an email key
Neutral
39
Obsolete
Fail
40
Missing key type
Neutral
41
Unknown key type
Neutral
42
Key revoked
PermError
43
Undecodable key
PermError
44
Missing v= tag
PermError
45
v= tag is empty
Fail
46
Insufficient key bits
PermError
101
Bad signature
Fail
102
No signature available
Fail
103
Public key not found
None
104
No domain key to verify
None
105
Syntax error
Fail
106
Resource unavailable
Fail
107
Internal error
Fail
108
Key revoked
Fail
109
Invalid function parameter
Fail
110
Function not implemented
Fail
111
Unable to retrieve key
Fail
112
Callback request rejected
Fail
113
Invalid callback result
Fail
114
Callback timeout
Fail
115
Callback timeout
Fail
116
Multiple DNS replies
Fail

Domain-based Message Authentication, Reporting & Conformance (DMARC) Error Codes

DMARC Error Code Classification

Error Type
Error Codes
Invalid DMARC record
2~5, 11
No DMARC record
1, 6, 9, 10, 12
Authentication unsuccessful
13
Alignment check unsuccessful
21
Internal error
7, 8

DMARC Error Codes

Error Code
Message
0
Successful
1
No data
2
NULL context received
3
Invalid v= value
4
Invalid p= value
5
Missing p= value
6
No domain found
7
Unable to allocate memory
8
Not a macro
9
No DMARC record
10
Domain does not exist
11
Recoverable DNS error
12
Undefined TLD type
13
From: domain not available
14
No DMARC record found for custom policy
15
Accept message based on policy settings
16
Reject message based on policy settings
17
Quarantine message based on policy settings
18
Monitor message and generate report based on policy settings
19
Apply domain policy ('p')
20
Apply sub-domain policy ('sp')
21
Alignment check unsuccessful