CoolFace
Datasetpublic

blazalek/open-smtp-error-dataset

Open SMTP Error Dataset Open SMTP Error Dataset is an English-language, machine-readable reference package for SMTP enhanced-status knowledge and cautious operational classification. Version 1.1.0 contains 92 stable knowledge records and a separate, auditable catalog of 120 classification rules. The package is a reference artifact, not a live provider-policy feed. It helps with observability, support, parser testing, and bounded delivery operations; it does not establish… See the full description on the dataset page: https://huggingface.co/datasets/blazalek/open-smtp-error-dataset.

sourceHugging Faceupdated 2mo agoView on Hugging Face
1likes155downloads
classification-rules.csv122 linesDownload Raw Back to data
1schema_version,rule_key,source,precedence_tier,enhanced_status_code,enhanced_status_prefix,match_field,match_operator,match_value,failure_persistence,cause_family,recipient_validity,retry_disposition,suppression_disposition,confidence,needs_review,rationale,source_title,evidence_reference,knowledge_record_id,excluded_enhanced_status_codes2"1.0.0","esc-2-0-0","open-smtp-error-dataset","1","2.0.0","","enhanced_status_code","equals","2.0.0","indeterminate","unknown","unverified","do_not_retry","no_recommendation","low","true","Confidence is low because this is the generic catch-all pattern whose meaning is explicitly unspecified beyond the class.","Other undefined success status","https://blazalek.com/en/email-errors/2-0-0","email-error-2-0-0","[]"3"1.0.0","esc-2-1-5","open-smtp-error-dataset","1","2.1.5","","enhanced_status_code","equals","2.1.5","indeterminate","unknown","valid","do_not_retry","no_recommendation","high","false","failure_persistence is indeterminate since persistence has no meaning for a success.","2.1.5 — Destination address is valid","https://blazalek.com/en/email-errors/2-1-5","email-error-2-1-5","[]"4"1.0.0","esc-2-3-0","open-smtp-error-dataset","1","2.3.0","","enhanced_status_code","equals","2.3.0","indeterminate","unknown","unverified","do_not_retry","no_recommendation","low","true","Confidence is low because the pattern's meaning is undefined by design, and failure_persistence is indeterminate for a success class.","2.3.0 — Other or undefined mail system status","https://blazalek.com/en/email-errors/2-3-0","email-error-2-3-0","[]"5"1.0.0","esc-2-3-6","open-smtp-error-dataset","1","2.3.6","","enhanced_status_code","equals","2.3.6","indeterminate","unknown","unverified","do_not_retry","no_recommendation","high","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","2.3.6 — Requested priority was changed","https://blazalek.com/en/email-errors/2-3-6","email-error-2-3-6","[]"6"1.0.0","esc-2-5-0","open-smtp-error-dataset","1","2.5.0","","enhanced_status_code","equals","2.5.0","indeterminate","unknown","unverified","do_not_retry","no_recommendation","low","true","Confidence is low because the pattern is explicitly the undefined protocol status, and failure_persistence is indeterminate for a success.","2.5.0 — Other or undefined protocol status","https://blazalek.com/en/email-errors/2-5-0","email-error-2-5-0","[]"7"1.0.0","esc-2-6-4","open-smtp-error-dataset","1","2.6.4","","enhanced_status_code","equals","2.6.4","indeterminate","unknown","unverified","do_not_retry","no_recommendation","high","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","2.6.4 — Conversion with data loss performed","https://blazalek.com/en/email-errors/2-6-4","email-error-2-6-4","[]"8"1.0.0","esc-2-6-8","open-smtp-error-dataset","1","2.6.8","","enhanced_status_code","equals","2.6.8","indeterminate","unknown","unverified","do_not_retry","no_recommendation","medium","true","Confidence is medium because the pattern meaning is precise but its success variant describes a reply-encoding limit rather than a delivery outcome, so what it proves about the message is weaker than for 2.1.5.","2.6.8 — Required UTF-8 reply not permitted by the SMTP client","https://blazalek.com/en/email-errors/2-6-8","email-error-2-6-8","[]"9"1.0.0","esc-2-7-0","open-smtp-error-dataset","1","2.7.0","","enhanced_status_code","equals","2.7.0","indeterminate","unknown","unverified","do_not_retry","no_recommendation","low","true","Class 2 makes it a success, so do_not_retry applies and failure_persistence is indeterminate; confidence is low because the code's meaning is unspecified by construction.","2.7.0 — Other or undefined security status (success)","https://blazalek.com/en/email-errors/2-7-0","email-error-2-7-0","[]"10"1.0.0","esc-4-0-0","open-smtp-error-dataset","1","4.0.0","","enhanced_status_code","equals","4.0.0","transient","unknown","unverified","retry_with_backoff","no_recommendation","low","false","X.0.0 is the only undefined pattern and carries no cause detail beyond the class digit, so the cause family stays unknown and the confidence stays low.","Other undefined temporary status","https://blazalek.com/en/email-errors/4-0-0","email-error-4-0-0","[]"11"1.0.0","esc-4-1-1","open-smtp-error-dataset","1","4.1.1","","enhanced_status_code","equals","4.1.1","transient","recipient_invalid","unverified","retry_with_backoff","no_recommendation","medium","true","Retry is conditional on checking the address first ('do not assume that further attempts will repair an incorrect address'), so retry_after_correction rather than plain backoff.","4.1.1 — Temporary destination mailbox address problem","https://blazalek.com/en/email-errors/4-1-1","email-error-4-1-1","[]"12"1.0.0","esc-4-1-8","open-smtp-error-dataset","1","4.1.8","","enhanced_status_code","equals","4.1.8","transient","infrastructure","unverified","retry_after_correction","no_recommendation","high","false","X.1.8 means the sender system named in the return path does not exist or cannot accept return mail, i.e. sender-side DNS or mail configuration, which is the closest fit to infrastructure in our vocabulary.","4.1.8 — Temporary sender system address problem","https://blazalek.com/en/email-errors/4-1-8","email-error-4-1-8","[]"13"1.0.0","esc-4-2-0","open-smtp-error-dataset","1","4.2.0","","enhanced_status_code","equals","4.2.0","transient","mailbox_state","unverified","retry_with_backoff","no_recommendation","low","false","X.2.0 is the explicit fallback of the mailbox-status subject: the mailbox exists but has an unspecified problem accepting the message, so cause is mailbox_state with low confidence.","4.2.0 — Recipient mailbox temporarily unavailable (other/undefined mailbox status)","https://blazalek.com/en/email-errors/4-2-0","email-error-4-2-0","[]"14"1.0.0","esc-4-2-1","open-smtp-error-dataset","1","4.2.1","","enhanced_status_code","equals","4.2.1","transient","mailbox_state","unverified","retry_with_backoff","no_recommendation","medium","true","Bounded backoff is the prescribed retry.","4.2.1 — Recipient mailbox temporarily not accepting messages (receiving-rate limit)","https://blazalek.com/en/email-errors/4-2-1","email-error-4-2-1","[]"15"1.0.0","esc-4-2-2","open-smtp-error-dataset","1","4.2.2","","enhanced_status_code","equals","4.2.2","transient","mailbox_state","unverified","retry_with_backoff","no_recommendation","high","false","X.2.2 is precise: the destination mailbox is over its administrative or physical storage quota, a state of an existing mailbox, so mailbox_state. The recipient may free space, so bounded backoff is the right disposition and no suppression is warranted while only the class-4 form is seen.","4.2.2 — Recipient mailbox temporarily over its storage quota","https://blazalek.com/en/email-errors/4-2-2","email-error-4-2-2","[]"16"1.0.0","esc-4-2-4","open-smtp-error-dataset","1","4.2.4","","enhanced_status_code","equals","4.2.4","transient","mailbox_state","unverified","retry_with_backoff","no_recommendation","medium","false","X.2.4 says the destination is a mailing-list address that could not be expanded this attempt, a condition of the destination mailbox object, so mailbox_state.","4.2.4 — Temporary mailing-list expansion problem","https://blazalek.com/en/email-errors/4-2-4","email-error-4-2-4","[]"17"1.0.0","esc-4-3-0","open-smtp-error-dataset","1","4.3.0","","enhanced_status_code","equals","4.3.0","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","low","false","X.3.0 is the mail-system subject's own catch-all: the destination system exists and normally accepts mail, but an unspecified system condition blocked this attempt, so infrastructure at low confidence.","4.3.0 — Other or undefined temporary mail-system status","https://blazalek.com/en/email-errors/4-3-0","email-error-4-3-0","[]"18"1.0.0","esc-4-3-1","open-smtp-error-dataset","1","4.3.1","","enhanced_status_code","equals","4.3.1","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","high","false","X.3.1 means mail-system storage was exceeded, a system-wide resource condition that an individual recipient cannot clear, so infrastructure rather than mailbox_state. The condition clears on the receiving side, so bounded backoff without any sender correction.","4.3.1 — Temporarily full mail system","https://blazalek.com/en/email-errors/4-3-1","email-error-4-3-1","[]"19"1.0.0","esc-4-3-2","open-smtp-error-dataset","1","4.3.2","","enhanced_status_code","equals","4.3.2","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","high","false","X.3.2 means the host on which the mailbox resides is not accepting messages, with imminent shutdown, excessive load, and maintenance as the standard's examples, all receiving-side infrastructure. Nothing on the sender side needs correcting, so bounded backoff.","4.3.2 — System temporarily not accepting network messages","https://blazalek.com/en/email-errors/4-3-2","email-error-4-3-2","[]"20"1.0.0","esc-4-4-0","open-smtp-error-dataset","1","4.4.0","","enhanced_status_code","equals","4.4.0","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","low","false","X.4.0 is the network-and-routing subject's explicit placeholder for conditions matching none of X.4.1-X.4.7, so infrastructure at low confidence.","4.4.0 — Temporary failure for an unspecified network or routing reason (other/undefined network status)","https://blazalek.com/en/email-errors/4-4-0","email-error-4-4-0","[]"21"1.0.0","esc-4-4-1","open-smtp-error-dataset","1","4.4.1","","enhanced_status_code","equals","4.4.1","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","high","false","X.4.1 is precise: the outbound connection attempt went unanswered because the remote system was busy or could not accept a connection, a transport-layer condition, so infrastructure. The standard marks it useful only as a persistent transient failure, so bounded backoff.","4.4.1 — No answer from remote host","https://blazalek.com/en/email-errors/4-4-1","email-error-4-4-1","[]"22"1.0.0","esc-4-4-2","open-smtp-error-dataset","1","4.4.2","","enhanced_status_code","equals","4.4.2","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","high","false","X.4.2 is precise: a connection was established but the transaction could not complete because of a timeout or inadequate connection quality, which is infrastructure. The standard marks it useful only as a persistent transient failure, so bounded backoff with no sender-side fix implied.","4.4.2 — Bad connection","https://blazalek.com/en/email-errors/4-4-2","email-error-4-4-2","[]"23"1.0.0","esc-4-4-3","open-smtp-error-dataset","1","4.4.3","","enhanced_status_code","equals","4.4.3","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","high","false","X.4.3 is precise: forwarding stopped because a required directory server (DNS is the standard's example) was unreachable, which is infrastructure. Availability is restored on the resolver or directory side, so bounded backoff.","4.4.3 — Directory server failure","https://blazalek.com/en/email-errors/4-4-3","email-error-4-4-3","[]"24"1.0.0","esc-4-4-5","open-smtp-error-dataset","1","4.4.5","","enhanced_status_code","equals","4.4.5","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","medium","true","X.4.5 means a mail system could not deliver because it was congested, a capacity condition of the transport path rather than a per-sender quota, so infrastructure with bounded backoff once load eases.","4.4.5 — Mail system congestion","https://blazalek.com/en/email-errors/4-4-5","email-error-4-4-5","[]"25"1.0.0","esc-4-4-6","open-smtp-error-dataset","1","4.4.6","","enhanced_status_code","equals","4.4.6","transient","infrastructure","unverified","retry_after_correction","no_recommendation","medium","true","X.4.6 means the message was forwarded between systems past the hop limit because of a routing table or forwarding rule defect, which is infrastructure.","4.4.6 — Routing loop detected between mail systems","https://blazalek.com/en/email-errors/4-4-6","email-error-4-4-6","[]"26"1.0.0","esc-4-5-0","open-smtp-error-dataset","1","4.5.0","","enhanced_status_code","equals","4.5.0","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","low","false","X.5.0 is the protocol subject's catch-all for a handoff problem that no other detail code expresses, so infrastructure at low confidence.","4.5.0 — Other or undefined temporary protocol status","https://blazalek.com/en/email-errors/4-5-0","email-error-4-5-0","[]"27"1.0.0","esc-4-5-1","open-smtp-error-dataset","1","4.5.1","","enhanced_status_code","equals","4.5.1","transient","infrastructure","unverified","retry_after_correction","no_recommendation","medium","false","X.5.1 means a protocol command was issued out of sequence or is unsupported by the peer, a defect in how the transaction was driven, so infrastructure.","4.5.1 — Temporarily invalid protocol command","https://blazalek.com/en/email-errors/4-5-1","email-error-4-5-1","[]"28"1.0.0","esc-4-5-3","open-smtp-error-dataset","1","4.5.3","","enhanced_status_code","equals","4.5.3","transient","rate_limited","unverified","retry_after_correction","no_recommendation","medium","true","X.5.3 means more recipients were specified than the protocol could deliver in one transaction, a receiver-imposed ceiling on how much a single attempt may carry, so rate_limited.","4.5.3 — Too many recipients","https://blazalek.com/en/email-errors/4-5-3","email-error-4-5-3","[]"29"1.0.0","esc-4-5-4","open-smtp-error-dataset","1","4.5.4","","enhanced_status_code","equals","4.5.4","transient","infrastructure","unverified","retry_after_correction","no_recommendation","medium","false","X.5.4 means the command was recognised but its arguments were out of range or used unrecognised features, a defect in the transaction the sender emits, so infrastructure.","4.5.4 — Temporarily invalid command arguments","https://blazalek.com/en/email-errors/4-5-4","email-error-4-5-4","[]"30"1.0.0","esc-4-7-0","open-smtp-error-dataset","1","4.7.0","","enhanced_status_code","equals","4.7.0","transient","policy_block","unverified","retry_with_backoff","no_recommendation","low","false","X.7.0 sits in the security-or-policy subject but explicitly declines to describe the condition, sometimes because policy forbids describing it, so policy_block at low confidence rather than a guess at reputation, content, or authentication.","4.7.0 — Other or undefined temporary security status","https://blazalek.com/en/email-errors/4-7-0","email-error-4-7-0","[]"31"1.0.0","esc-4-7-1","open-smtp-error-dataset","1","4.7.1","","enhanced_status_code","equals","4.7.1","transient","policy_block","unverified","retry_after_correction","no_recommendation","medium","true","X.7.1 means the sender was not authorised to deliver to the destination, produced by per-host or per-recipient filtering, which is a policy decision about the sender, not a mailbox condition, so policy_block.","4.7.1 — Delivery not authorized, message temporarily refused","https://blazalek.com/en/email-errors/4-7-1","email-error-4-7-1","[]"32"1.0.0","esc-4-7-3","open-smtp-error-dataset","1","4.7.3","","enhanced_status_code","equals","4.7.3","transient","infrastructure","unverified","retry_after_correction","no_recommendation","medium","true","Retry at a reduced pace with backoff.","4.7.3 - Security conversion required but not possible (RFC 3463 X.7.3)","https://blazalek.com/en/email-errors/4-7-3","email-error-4-7-3","[]"33"1.0.0","esc-4-7-12","open-smtp-error-dataset","1","4.7.12","","enhanced_status_code","equals","4.7.12","transient","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","X.7.12 is a response to the AUTH command telling the account it must first transition to the selected authentication mechanism, which is unambiguously authentication_failure.","4.7.12 — Authentication mechanism transition required","https://blazalek.com/en/email-errors/4-7-12","email-error-4-7-12","[]"34"1.0.0","esc-4-7-15","open-smtp-error-dataset","1","4.7.15","","enhanced_status_code","equals","4.7.15","transient","policy_block","unverified","retry_with_backoff","no_recommendation","high","false","X.7.15 is precise: the declared priority is below the lowest the receiving server currently accepts, a server policy on which traffic it admits, so policy_block.","4.7.15 — Priority level is too low","https://blazalek.com/en/email-errors/4-7-15","email-error-4-7-15","[]"35"1.0.0","esc-4-7-16","open-smtp-error-dataset","1","4.7.16","","enhanced_status_code","equals","4.7.16","transient","policy_block","unverified","retry_after_correction","no_recommendation","medium","true","X.7.16 rejects the message because its size exceeds what the specified priority allows, and the blocking attribute is a property of this message, so content_block.","4.7.16 — Message too big for the specified priority","https://blazalek.com/en/email-errors/4-7-16","email-error-4-7-16","[]"36"1.0.0","esc-4-7-24","open-smtp-error-dataset","1","4.7.24","","enhanced_status_code","equals","4.7.24","transient","authentication_failure","unverified","retry_with_backoff","no_recommendation","medium","true","X.7.24 reports an error while evaluating SPF for the message, which is authentication_failure by subject. In class 4 the usual production case is a transient SPF lookup error (the code is registered in place of 4.4.3), so bounded backoff.","4.7.24 — SPF validation error","https://blazalek.com/en/email-errors/4-7-24","email-error-4-7-24","[]"37"1.0.0","esc-4-7-26","open-smtp-error-dataset","1","4.7.26","","enhanced_status_code","equals","4.7.26","transient","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","4.7.26 - Multiple authentication checks failed (RFC 3463 X.7.26; Gmail applies it as a rate limit)","https://blazalek.com/en/email-errors/4-7-26","email-error-4-7-26","[]"38"1.0.0","esc-4-7-28","open-smtp-error-dataset","1","4.7.28","","enhanced_status_code","equals","4.7.28","transient","reputation_block","unverified","retry_with_backoff","no_recommendation","medium","true","The receiver limits this sending IP because it judged an unusual portion of its traffic to be unsolicited, a reputation judgement about the sender rather than a fixed quota, so reputation_block.","4.7.28 — Sender IP temporarily rate-limited for unsolicited mail (Gmail)","https://blazalek.com/en/email-errors/4-7-28","email-error-4-7-28","[]"39"1.0.0","esc-4-7-32","smtp-field-manual","1","4.7.32","","enhanced_status_code","equals","4.7.32","transient","authentication_failure","unverified","retry_after_correction","no_recommendation","medium","true","retry_after_correction follows directly, since backing off without fixing alignment reproduces the identical rejection indefinitely.","4.7.32 — Gmail rate limit for missing DMARC alignment (SMTP Field Manual)","https://support.google.com/a/answer/10032578","","[]"40"1.0.0","esc-4-7-500","smtp-field-manual","1","4.7.500","","enhanced_status_code","equals","4.7.500","transient","rate_limited","unverified","retry_with_backoff","no_recommendation","medium","true","Exchange Online transient throttle (Server busy). Vendor-specific extension outside RFC 3463; class 4 plus explicit try again later makes backoff the only sound reading.","4.7.500 - Exchange Online server busy","https://github.com/ActiveCampaign/smtp-field-manual","","[]"41"1.0.0","esc-4-7-650","smtp-field-manual","1","4.7.650","","enhanced_status_code","equals","4.7.650","transient","reputation_block","unverified","retry_with_backoff","no_recommendation","medium","true","cause_family is reputation_block rather than rate_limited because the receiver states reputation as the reason and the throttle is the enforcement, consistent with 4.7.28. retry_with_backoff is correct because the limit clears on its own and a reduced, gradually ramped sending rate is the documented path, but a repeat is sending-practice work rather than a queue problem. recipient_validity is unverified and suppression is withheld: an IP-level judgement asserts nothing about the address.","4.7.650 — Outlook temporary IP-reputation rate limit (SMTP Field Manual)","https://postmaster.live.com","","[]"42"1.0.0","esc-4-7-651","smtp-field-manual","1","4.7.651","","enhanced_status_code","equals","4.7.651","transient","reputation_block","unverified","retry_with_backoff","no_recommendation","medium","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","4.7.651 — Outlook temporary IP-reputation rate limit, second variant (SMTP Field Manual)","https://postmaster.live.com","","[]"43"1.0.0","esc-5-0-0","open-smtp-error-dataset","1","5.0.0","","enhanced_status_code","equals","5.0.0","permanent","unknown","unverified","do_not_retry","no_recommendation","low","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","Other undefined permanent status","https://blazalek.com/en/email-errors/5-0-0","email-error-5-0-0","[]"44"1.0.0","esc-5-1-0","open-smtp-error-dataset","1","5.1.0","","enhanced_status_code","equals","5.1.0","permanent","unknown","unverified","retry_after_correction","no_recommendation","low","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.1.0 — Generic address-status rejection, for both sender and recipient addresses","https://blazalek.com/en/email-errors/5-1-0","email-error-5-1-0","[]"45"1.0.0","esc-5-1-1","open-smtp-error-dataset","1","5.1.1","","enhanced_status_code","equals","5.1.1","permanent","recipient_invalid","invalid","do_not_retry","suppression_recommended","high","false","X.1.1 states the mailbox named in the address does not exist — for an Internet address the part left of the @ is invalid — and the standard marks the detail useful only for permanent failures, which is the textbook recipient_invalid hard bounce.","5.1.1 — Recipient mailbox does not exist","https://blazalek.com/en/email-errors/5-1-1","email-error-5-1-1","[]"46"1.0.0","esc-5-1-2","open-smtp-error-dataset","1","5.1.2","","enhanced_status_code","equals","5.1.2","permanent","recipient_invalid","invalid","retry_after_correction","no_recommendation","medium","true","retry_after_correction because the fault sits in our address data and a corrected address is a legitimate new attempt.","5.1.2 — Recipient address rejected as an invalid destination","https://blazalek.com/en/email-errors/5-1-2","email-error-5-1-2","[]"47"1.0.0","esc-5-1-3","open-smtp-error-dataset","1","5.1.3","","enhanced_status_code","equals","5.1.3","permanent","recipient_invalid","invalid","retry_after_correction","no_recommendation","high","false","X.1.3 is syntactic invalidity of the destination mailbox address, so the address cannot exist as written and recipient_validity is invalid on the code's own assertion.","5.1.3 — Invalid recipient address syntax","https://blazalek.com/en/email-errors/5-1-3","email-error-5-1-3","[]"48"1.0.0","esc-5-1-8","open-smtp-error-dataset","1","5.1.8","","enhanced_status_code","equals","5.1.8","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","high","true","X.1.8 faults the sender system in MAIL FROM — the domain right of the @ does not exist or cannot accept return mail — so the code asserts nothing about the recipient and recipient_validity must stay unverified, with suppression obviously withheld.","5.1.8 — Invalid sender system address","https://blazalek.com/en/email-errors/5-1-8","email-error-5-1-8","[]"49"1.0.0","esc-5-1-10","open-smtp-error-dataset","1","5.1.10","","enhanced_status_code","equals","5.1.10","permanent","recipient_invalid","invalid","do_not_retry","no_recommendation","high","true","X.1.10 means the recipient domain publishes a null MX, which is the domain owner declaring that the associated address is invalid and that no mail is accepted there — recipient_invalid with the address genuinely non-existent, which is what suppression_recommended is reserved for.","5.1.10 — Recipient address points to a null-MX domain","https://blazalek.com/en/email-errors/5-1-10","email-error-5-1-10","[]"50"1.0.0","esc-5-2-0","open-smtp-error-dataset","1","5.2.0","","enhanced_status_code","equals","5.2.0","permanent","unknown","unverified","retry_after_correction","no_recommendation","low","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.2.0 — Generic mailbox-status rejection, identified as a DMARC policy failure","https://blazalek.com/en/email-errors/5-2-0","email-error-5-2-0","[]"51"1.0.0","esc-5-2-1","open-smtp-error-dataset","1","5.2.1","","enhanced_status_code","equals","5.2.1","permanent","mailbox_state","unverified","do_not_retry","no_recommendation","medium","false","X.2.1 says the mailbox exists but is disabled and will not accept messages, which is mailbox_state and explicitly not the non-existence of 5.1.1 — so recipient_validity stays unverified even though the account is unusable, and suppression is withheld because the address may become deliverable again. Confidence is medium: the standard says a disabled mailbox may be permanent or transient and confirms no class for the pattern, so only the leading 5 makes this attempt permanent.","5.2.1 — Recipient mailbox exists but is disabled","https://blazalek.com/en/email-errors/5-2-1","email-error-5-2-1","[]"52"1.0.0","esc-5-2-2","open-smtp-error-dataset","1","5.2.2","","enhanced_status_code","equals","5.2.2","permanent","mailbox_state","unverified","do_not_retry","no_recommendation","high","false","X.2.2 means the mailbox exceeded its administrative quota or physical capacity, which is a state of an existing mailbox — mailbox_state, recipient unverified, and no suppression, since a full mailbox is not a missing one.","5.2.2 — Recipient mailbox is full","https://blazalek.com/en/email-errors/5-2-2","email-error-5-2-2","[]"53"1.0.0","esc-5-2-3","open-smtp-error-dataset","1","5.2.3","","enhanced_status_code","equals","5.2.3","permanent","policy_block","unverified","retry_after_correction","no_recommendation","high","false","X.2.3 is an administrative message-length limit configured for that specific mailbox and the standard says it should be used as a permanent failure — the receiver enforced a policy rather than judged the content, so policy_block and not content_block, which we reserve for filtering verdicts.","5.2.3 — Message exceeds the mailbox limit","https://blazalek.com/en/email-errors/5-2-3","email-error-5-2-3","[]"54"1.0.0","esc-5-2-121","smtp-field-manual","1","5.2.121","","enhanced_status_code","equals","5.2.121","transient","rate_limited","unverified","retry_with_backoff","no_recommendation","medium","true","cause_family is rate_limited because the receiver states a quota outright and the sender is the party over it; recipient_validity stays unverified and suppression is withheld, since a quota says nothing about whether the mailbox exists. needs_review because those two answers deliberately disagree: reading the code as permanent risks dropping mail that would have delivered an hour later, reading it as transient overrides the receiver's own persistence claim, and a 5.x code that self-clears is precisely the case this vocabulary handles worst.","5.2.121 — Exchange Online per-recipient hourly send limit exceeded by the sender (SMTP Field Manual)","http://go.microsoft.com/fwlink/?LinkId=526653","","[]"55"1.0.0","esc-5-2-122","smtp-field-manual","1","5.2.122","","enhanced_status_code","equals","5.2.122","transient","rate_limited","unverified","retry_with_backoff","no_recommendation","medium","true","cause_family is rate_limited on the receiver's own wording, recipient_validity is unverified, and no suppression follows because a full hour, not a missing mailbox, caused this. needs_review for the same permanent-yet-self-clearing contradiction as 5.2.121, and for a second reason specific to this code: the 5.2 band is the mailbox subject, so mailbox_state — an existing mailbox refusing this delivery attempt — is a defensible reading that would group it with 5.2.2 rather than with sender-side throttling.","5.2.122 — Exchange Online recipient inbound hourly receive limit exceeded (SMTP Field Manual)","http://go.microsoft.com/fwlink/?LinkId=526653","","[]"56"1.0.0","esc-5-3-0","open-smtp-error-dataset","1","5.3.0","","enhanced_status_code","equals","5.3.0","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","low","false","X.3.0 states the destination system exists and normally accepts mail but a condition involving that system produced the DSN, which is squarely infrastructure and says nothing about the address.","5.3.0 — Other or undefined permanent mail-system status","https://blazalek.com/en/email-errors/5-3-0","email-error-5-3-0","[]"57"1.0.0","esc-5-3-2","open-smtp-error-dataset","1","5.3.2","","enhanced_status_code","equals","5.3.2","permanent","infrastructure","unverified","do_not_retry","no_recommendation","medium","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.3.2 — System not accepting network messages — permanent failure","https://blazalek.com/en/email-errors/5-3-2","email-error-5-3-2","[]"58"1.0.0","esc-5-3-4","open-smtp-error-dataset","1","5.3.4","","enhanced_status_code","equals","5.3.4","permanent","policy_block","unverified","retry_after_correction","no_recommendation","high","false","X.3.4 is a per-message size limit imposed for physical or administrative reasons and the standard marks the status useful only for permanent errors — a system policy enforced against the submission, so policy_block rather than content_block (no content judgement was made) or infrastructure (nothing is broken).","5.3.4 — Message exceeds the system size limit","https://blazalek.com/en/email-errors/5-3-4","email-error-5-3-4","[]"59"1.0.0","esc-5-4-0","open-smtp-error-dataset","1","5.4.0","","enhanced_status_code","equals","5.4.0","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","low","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.4.0 — Message rejected for exceeding the mail system's hop limit (routing-loop protection)","https://blazalek.com/en/email-errors/5-4-0","email-error-5-4-0","[]"60"1.0.0","esc-5-4-1","open-smtp-error-dataset","1","5.4.1","","enhanced_status_code","equals","5.4.1","permanent","policy_block","unverified","do_not_retry","no_recommendation","medium","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.4.1 — Mail rejected by the destination domain (permanent)","https://blazalek.com/en/email-errors/5-4-1","email-error-5-4-1","[]"61"1.0.0","esc-5-4-3","open-smtp-error-dataset","1","5.4.3","","enhanced_status_code","equals","5.4.3","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","high","false","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.4.3 — Directory server failure","https://blazalek.com/en/email-errors/5-4-3","email-error-5-4-3","[]"62"1.0.0","esc-5-4-6","open-smtp-error-dataset","1","5.4.6","","enhanced_status_code","equals","5.4.6","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","medium","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.4.6 - Routing loop detected (RFC 3463 X.4.6)","https://blazalek.com/en/email-errors/5-4-6","email-error-5-4-6","[]"63"1.0.0","esc-5-4-7","open-smtp-error-dataset","1","5.4.7","","enhanced_status_code","equals","5.4.7","permanent","infrastructure","unverified","do_not_retry","no_recommendation","medium","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.4.7 - Delivery time expired (RFC 3463 X.4.7)","https://blazalek.com/en/email-errors/5-4-7","email-error-5-4-7","[]"64"1.0.0","esc-5-5-0","open-smtp-error-dataset","1","5.5.0","","enhanced_status_code","equals","5.5.0","permanent","infrastructure","unverified","do_not_retry","no_recommendation","low","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.5.0 — Other or undefined permanent protocol status","https://blazalek.com/en/email-errors/5-5-0","email-error-5-5-0","[]"65"1.0.0","esc-5-5-1","open-smtp-error-dataset","1","5.5.1","","enhanced_status_code","equals","5.5.1","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","high","false","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.5.1 — Invalid protocol command","https://blazalek.com/en/email-errors/5-5-1","email-error-5-5-1","[]"66"1.0.0","esc-5-5-2","open-smtp-error-dataset","1","5.5.2","","enhanced_status_code","equals","5.5.2","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","high","false","X.5.2 is precisely a command the receiver could not interpret because its syntax was wrong or the command was unrecognised, which is a defect in the sending client's protocol implementation — infrastructure, and nothing about the recipient.","5.5.2 — Protocol command syntax error","https://blazalek.com/en/email-errors/5-5-2","email-error-5-5-2","[]"67"1.0.0","esc-5-5-4","open-smtp-error-dataset","1","5.5.4","","enhanced_status_code","equals","5.5.4","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","high","false","X.5.4 is precisely an otherwise-valid command whose arguments were out of range or named unrecognised features, and the registry marks the detail useful only as a permanent error; the fault is in the sender's command parameters or session assumptions, so infrastructure.","5.5.4 — Invalid command arguments","https://blazalek.com/en/email-errors/5-5-4","email-error-5-5-4","[]"68"1.0.0","esc-5-5-6","open-smtp-error-dataset","1","5.5.6","","enhanced_status_code","equals","5.5.6","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","The remedy is entirely sender-side — shorten the credential or select another mechanism — so retry_after_correction, and the recipient is never implicated.","5.5.6 — Authentication exchange line is too long","https://blazalek.com/en/email-errors/5-5-6","email-error-5-5-6","[]"69"1.0.0","esc-5-6-3","open-smtp-error-dataset","1","5.6.3","","enhanced_status_code","equals","5.6.3","permanent","content_block","unverified","retry_after_correction","no_recommendation","high","false","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.6.3 — Required conversion is not supported","https://blazalek.com/en/email-errors/5-6-3","email-error-5-6-3","[]"70"1.0.0","esc-5-6-6","open-smtp-error-dataset","1","5.6.6","","enhanced_status_code","equals","5.6.6","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","medium","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.6.6 — Message content is not available","https://blazalek.com/en/email-errors/5-6-6","email-error-5-6-6","[]"71"1.0.0","esc-5-6-7","open-smtp-error-dataset","1","5.6.7","","enhanced_status_code","equals","5.6.7","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","high","true","X.6.7 is precise: during MAIL or RCPT the receiver found a non-ASCII sender or recipient address that was not permitted in that context, which is a refusal of the address encoding rather than a claim that the address does not exist — so content_block and recipient_validity unverified, never suppression. The remedy is sender-side (negotiate SMTPUTF8 or use an ASCII-compatible address), making this retry_after_correction.","5.6.7 — Non-ASCII address is not permitted for the sender or recipient","https://blazalek.com/en/email-errors/5-6-7","email-error-5-6-7","[]"72"1.0.0","esc-5-6-8","open-smtp-error-dataset","1","5.6.8","","enhanced_status_code","equals","5.6.8","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","high","true","X.6.8 is precise and points at the sending side: showing the mailbox name required a reply containing a UTF-8 string and the SMTP client does not permit that reply form, so the block is about the encoding the sender's client will accept — content_block, with nothing said about the recipient. Enabling UTF-8 handling on the client is a sender correction, so retry_after_correction rather than do_not_retry.","5.6.8 — Required UTF-8 reply not permitted by the SMTP client","https://blazalek.com/en/email-errors/5-6-8","email-error-5-6-8","[]"73"1.0.0","esc-5-6-9","open-smtp-error-dataset","1","5.6.9","","enhanced_status_code","equals","5.6.9","permanent","content_block","unverified","retry_after_correction","no_recommendation","high","false","Re-encoding or downgrading the header, or routing over a UTF-8-capable path, is a sender-side correction, so retry_after_correction.","5.6.9 — Message with a UTF-8 header cannot be transferred","https://blazalek.com/en/email-errors/5-6-9","email-error-5-6-9","[]"74"1.0.0","esc-5-7-0","open-smtp-error-dataset","1","5.7.0","","enhanced_status_code","equals","5.7.0","permanent","policy_block","unverified","do_not_retry","no_recommendation","low","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.7.0 — Other or undefined permanent security status","https://blazalek.com/en/email-errors/5-7-0","email-error-5-7-0","[]"75"1.0.0","esc-5-7-1","open-smtp-error-dataset","1","5.7.1","","enhanced_status_code","equals","5.7.1","permanent","policy_block","unverified","retry_after_correction","no_recommendation","medium","true","X.7.1 means the sender was not authorized to send to the destination, with per-host or per-recipient filtering named as a producer, so it is a recipient-side authorization decision rather than a content or authentication defect.","5.7.1 — Delivery not authorized, message refused","https://blazalek.com/en/email-errors/5-7-1","email-error-5-7-1","[]"76"1.0.0","esc-5-7-2","open-smtp-error-dataset","1","5.7.2","","enhanced_status_code","equals","5.7.2","permanent","policy_block","unverified","retry_after_correction","no_recommendation","high","false","X.7.2 is unauthorized posting to the intended mailing list, a permanent authorization decision made by the list rather than a statement about the address, so recipient_validity stays unverified.","5.7.2 — Mailing list expansion prohibited","https://blazalek.com/en/email-errors/5-7-2","email-error-5-7-2","[]"77"1.0.0","esc-5-7-4","open-smtp-error-dataset","1","5.7.4","","enhanced_status_code","equals","5.7.4","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","medium","true","X.7.4 covers a message carrying security features, such as secure authentication, that the delivery protocol could not support — a capability gap on the delivery path, not a refusal of the sender, an objection to content, or a failed authentication check. The stated fix is a change to the feature, the protocol support, or the path, hence retry_after_correction.","5.7.4 — Security features not supported","https://blazalek.com/en/email-errors/5-7-4","email-error-5-7-4","[]"78"1.0.0","esc-5-7-7","open-smtp-error-dataset","1","5.7.7","","enhanced_status_code","equals","5.7.7","permanent","content_block","unverified","retry_after_correction","no_recommendation","low","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.7.7 — Message rejected for duplicate authentication-results headers","https://blazalek.com/en/email-errors/5-7-7","email-error-5-7-7","[]"79"1.0.0","esc-5-7-8","open-smtp-error-dataset","1","5.7.8","","enhanced_status_code","equals","5.7.8","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","As a response to AUTH, X.7.8 means the credentials were invalid or insufficient, so the failure is in the sending identity at submission and says nothing about the recipient.","5.7.8 — Authentication credentials invalid","https://blazalek.com/en/email-errors/5-7-8","email-error-5-7-8","[]"80"1.0.0","esc-5-7-9","open-smtp-error-dataset","1","5.7.9","","enhanced_status_code","equals","5.7.9","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","X.7.9 refuses the AUTH attempt because the selected mechanism is weaker than server policy permits for that user, an authentication negotiation failure at submission. The standard explicitly tells the client to retry with a different mechanism, so retry_after_correction is more precise than do_not_retry.","5.7.9 — Authentication mechanism is too weak","https://blazalek.com/en/email-errors/5-7-9","email-error-5-7-9","[]"81"1.0.0","esc-5-7-10","open-smtp-error-dataset","1","5.7.10","","enhanced_status_code","equals","5.7.10","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","X.7.10 refuses the selected authentication mechanism until an external strong privacy layer such as TLS is active, so the failure sits in authentication setup and not in any recipient, content, or reputation decision. Activating encryption or choosing a stronger mechanism is the correction that unblocks the send.","5.7.10 — Encryption needed","https://blazalek.com/en/email-errors/5-7-10","email-error-5-7-10","[]"82"1.0.0","esc-5-7-11","open-smtp-error-dataset","1","5.7.11","","enhanced_status_code","equals","5.7.11","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","X.7.11 permits the selected mechanism only over an SMTP connection protected by sufficiently strong encryption, so this is an authentication mechanism and transport-security mismatch at submission. Establishing sufficient TLS, or selecting a mechanism permitted in the current state, is the required correction.","5.7.11 — Authentication mechanism requires an encrypted connection","https://blazalek.com/en/email-errors/5-7-11","email-error-5-7-11","[]"83"1.0.0","esc-5-7-13","open-smtp-error-dataset","1","5.7.13","","enhanced_status_code","equals","5.7.13","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","medium","true","X.7.13 pairs a successful client authentication with an administrator-disabled account, so what the server refuses is the sending identity, and the block holds until an administrator re-enables the account.","5.7.13 — User account disabled","https://blazalek.com/en/email-errors/5-7-13","email-error-5-7-13","[]"84"1.0.0","esc-5-7-14","open-smtp-error-dataset","1","5.7.14","","enhanced_status_code","equals","5.7.14","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","medium","true","X.7.14 fires when a submission server needs a configured trust relationship with a third-party server before it may access message content, which is a missing configuration on the sending path rather than a recipient, content, or authentication verdict. Configuring that relationship is the correction.","5.7.14 — Trust relationship required","https://blazalek.com/en/email-errors/5-7-14","email-error-5-7-14","[]"85"1.0.0","esc-5-7-15","open-smtp-error-dataset","1","5.7.15","","enhanced_status_code","equals","5.7.15","permanent","policy_block","unverified","retry_after_correction","no_recommendation","medium","true","Operational classification is a context-dependent initial interpretation; review the complete SMTP response and delivery context.","5.7.15 — Priority level is too low","https://blazalek.com/en/email-errors/5-7-15","email-error-5-7-15","[]"86"1.0.0","esc-5-7-16","open-smtp-error-dataset","1","5.7.16","","enhanced_status_code","equals","5.7.16","permanent","policy_block","unverified","retry_after_correction","no_recommendation","medium","true","X.7.16 rejects the message as too big for its specified priority, a size-against-priority threshold applied by the receiver; reducing size or raising priority is the correction.","5.7.16 — Message too big for the specified priority","https://blazalek.com/en/email-errors/5-7-16","email-error-5-7-16","[]"87"1.0.0","esc-5-7-17","open-smtp-error-dataset","1","5.7.17","","enhanced_status_code","equals","5.7.17","permanent","recipient_invalid","unverified","do_not_retry","no_recommendation","medium","true","X.7.17 reports that the RRVS check found the mailbox has not been continuously owned by the intended recipient since the stamped time, so the address no longer reaches the person the send was addressed to — a stale recipient record, and do_not_retry guards against delivering to whoever holds the address now. recipient_validity stays unverified because the code never asserts the mailbox is absent.","5.7.17 — Mailbox owner has changed","https://blazalek.com/en/email-errors/5-7-17","email-error-5-7-17","[]"88"1.0.0","esc-5-7-18","open-smtp-error-dataset","1","5.7.18","","enhanced_status_code","equals","5.7.18","permanent","policy_block","unverified","do_not_retry","no_recommendation","medium","true","X.7.18 reports that the recipient's domain changed owners since the RRVS timestamp, so the destination may now belong to a different party and the stored recipient record is stale; do_not_retry prevents a blind resend into the new owner's hands. recipient_validity stays unverified because domain-owner drift does not assert the mailbox is gone.","5.7.18 — Domain owner has changed","https://blazalek.com/en/email-errors/5-7-18","email-error-5-7-18","[]"89"1.0.0","esc-5-7-19","open-smtp-error-dataset","1","5.7.19","","enhanced_status_code","equals","5.7.19","permanent","policy_block","unverified","retry_after_correction","no_recommendation","medium","false","X.7.19 is a receiver that cannot complete the sender-requested RRVS evaluation because the required timestamp was never recorded, so the block comes from the RRVS policy demand carried by the message, not from the address, the content, or an authentication result.","5.7.19 — RRVS test cannot be completed","https://blazalek.com/en/email-errors/5-7-19","email-error-5-7-19","[]"90"1.0.0","esc-5-7-20","open-smtp-error-dataset","1","5.7.20","","enhanced_status_code","equals","5.7.20","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","X.7.20 means no DKIM signature passed verification, an unambiguous message-authentication failure the receiver rejects on. Retrying the unchanged message cannot change the DKIM result, so the correction is fixing signing on the sending path before any new send.","5.7.20 — No passing DKIM signature found","https://blazalek.com/en/email-errors/5-7-20","email-error-5-7-20","[]"91"1.0.0","esc-5-7-21","open-smtp-error-dataset","1","5.7.21","","enhanced_status_code","equals","5.7.21","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","X.7.21 means DKIM verification passed but no signature met the receiver's acceptance criteria, so the failure is in which authentication result the receiver will accept, not in the address or the content. Aligning selector, signing domain, or policy so at least one passing signature is acceptable is the required correction.","5.7.21 — No acceptable DKIM signature found","https://blazalek.com/en/email-errors/5-7-21","email-error-5-7-21","[]"92"1.0.0","esc-5-7-22","open-smtp-error-dataset","1","5.7.22","","enhanced_status_code","equals","5.7.22","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","X.7.22 is the special case of X.7.21 where a passing DKIM signature exists but none carries an identifier matching an author address in From, an alignment failure of the sending identity. Only a re-signed message with an author-matched passing signature can succeed, so retry_after_correction.","5.7.22 — No valid author-matched DKIM signature found","https://blazalek.com/en/email-errors/5-7-22","email-error-5-7-22","[]"93"1.0.0","esc-5-7-23","open-smtp-error-dataset","1","5.7.23","","enhanced_status_code","equals","5.7.23","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","X.7.23 is a completed SPF check that returned fail against local policy, and the registry says operators return it precisely in place of 5.7.1 for that case, which makes the authentication reading unambiguous. Correcting the SPF record or the sending infrastructure so SPF no longer fails is what unblocks the send.","5.7.23 — SPF validation produced a fail result","https://blazalek.com/en/email-errors/5-7-23","email-error-5-7-23","[]"94"1.0.0","esc-5-7-24","open-smtp-error-dataset","1","5.7.24","","enhanced_status_code","equals","5.7.24","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","medium","true","X.7.24 reports an error while SPF was evaluated for the arriving message, so the authentication check itself broke rather than returning a fail verdict, and the cause must be found before resending.","5.7.24 — SPF validation error","https://blazalek.com/en/email-errors/5-7-24","email-error-5-7-24","[]"95"1.0.0","esc-5-7-25","open-smtp-error-dataset","1","5.7.25","","enhanced_status_code","equals","5.7.25","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","medium","false","X.7.25 rejects the connecting SMTP client because its IP failed a reverse DNS check required by local policy, which is a mechanical identity validation of the sending host rather than a judgement about its standing, so it is an authentication failure and not reputation_block. Fixing rDNS or the sending route is the correction that lets a new attempt through.","5.7.25 — Reverse DNS validation failed","https://blazalek.com/en/email-errors/5-7-25","email-error-5-7-25","[]"96"1.0.0","esc-5-7-26","open-smtp-error-dataset","1","5.7.26","","enhanced_status_code","equals","5.7.26","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","X.7.26 means more than one authentication check required by local policy failed, so the family is unambiguous even though the code deliberately does not name which mechanisms failed.","5.7.26 — Multiple authentication checks failed","https://blazalek.com/en/email-errors/5-7-26","email-error-5-7-26","[]"97"1.0.0","esc-5-7-27","open-smtp-error-dataset","1","5.7.27","","enhanced_status_code","equals","5.7.27","permanent","policy_block","unverified","retry_after_correction","no_recommendation","medium","true","X.7.27 rejects the message because the sender address has a null MX and the receiver refuses mail it could not return a DSN to, so the refusal is a receiver policy applied to the sender's domain configuration. Using a From domain that can receive mail is the correction.","5.7.27 — Sender address has a null MX","https://blazalek.com/en/email-errors/5-7-27","email-error-5-7-27","[]"98"1.0.0","esc-5-7-29","open-smtp-error-dataset","1","5.7.29","","enhanced_status_code","equals","5.7.29","permanent","authentication_failure","unverified","retry_after_correction","no_recommendation","high","false","X.7.29 is a failed ARC validation; the meaning is precise even though the code does not identify which part of the chain failed, which keeps the family unambiguous while the specific cause stays open. The sealing or forwarding chain must be repaired before a new attempt, so retry_after_correction rather than a flat do_not_retry.","5.7.29 — ARC validation failure","https://blazalek.com/en/email-errors/5-7-29","email-error-5-7-29","[]"99"1.0.0","esc-5-7-30","open-smtp-error-dataset","1","5.7.30","","enhanced_status_code","equals","5.7.30","permanent","infrastructure","unverified","retry_after_correction","no_recommendation","high","false","X.7.30 fires when a message carrying a REQUIRETLS requirement cannot be forwarded because no next-hop SMTP server supports REQUIRETLS — a capability gap on the relay path, not a decision about the sender, the content, or an authentication result. Routing through a REQUIRETLS-capable path is the correction the code calls for.","5.7.30 — REQUIRETLS support required","https://blazalek.com/en/email-errors/5-7-30","email-error-5-7-30","[]"100"1.0.0","esc-5-7-606","smtp-field-manual","1","5.7.606","","enhanced_status_code","equals","5.7.606","permanent","reputation_block","unverified","retry_after_correction","no_recommendation","medium","true","Exchange Online banned sending IP. The block is on our IP reputation, not the recipient; delisting via sender.office.com is a sender-side correction, so retry only after that.","5.7.606 - Exchange Online banned sending IP","https://sender.office.com/","","[]"101"1.0.0","esc-prefix-2-0","derived","2","","2.0.","enhanced_status_code","enhanced_status_prefix","2.0.","indeterminate","unknown","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.0 to Other or Undefined Status. The class is success, so there is no failure to attribute and cause_family is unknown; do_not_retry follows because a retry on a success would only duplicate the message. Confidence is low by construction.","2.0.x — Other or Undefined Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"102"1.0.0","esc-prefix-2-1","derived","2","","2.1.","enhanced_status_code","enhanced_status_prefix","2.1.","indeterminate","unknown","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.1 to Addressing Status. The class is success, so there is no failure to attribute and cause_family is unknown; do_not_retry follows because a retry on a success would only duplicate the message. Confidence is low by construction.","2.1.x — Addressing Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"103"1.0.0","esc-prefix-2-3","derived","2","","2.3.","enhanced_status_code","enhanced_status_prefix","2.3.","indeterminate","unknown","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.3 to Mail System Status. The class is success, so there is no failure to attribute and cause_family is unknown; do_not_retry follows because a retry on a success would only duplicate the message. Confidence is low by construction.","2.3.x — Mail System Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"104"1.0.0","esc-prefix-2-5","derived","2","","2.5.","enhanced_status_code","enhanced_status_prefix","2.5.","indeterminate","unknown","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.5 to Mail Delivery Protocol Status. The class is success, so there is no failure to attribute and cause_family is unknown; do_not_retry follows because a retry on a success would only duplicate the message. Confidence is low by construction.","2.5.x — Mail Delivery Protocol Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"105"1.0.0","esc-prefix-2-6","derived","2","","2.6.","enhanced_status_code","enhanced_status_prefix","2.6.","indeterminate","unknown","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.6 to Message Content or Media Status. The class is success, so there is no failure to attribute and cause_family is unknown; do_not_retry follows because a retry on a success would only duplicate the message. Confidence is low by construction.","2.6.x — Message Content or Media Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"106"1.0.0","esc-prefix-2-7","derived","2","","2.7.","enhanced_status_code","enhanced_status_prefix","2.7.","indeterminate","unknown","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.7 to Security or Policy Status. The class is success, so there is no failure to attribute and cause_family is unknown; do_not_retry follows because a retry on a success would only duplicate the message. Confidence is low by construction.","2.7.x — Security or Policy Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"107"1.0.0","esc-prefix-4-0","derived","2","","4.0.","enhanced_status_code","enhanced_status_prefix","4.0.","transient","unknown","unverified","retry_with_backoff","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.0 to Other or Undefined Status. The subject sub-code is the registry's own undefined slot, so cause_family stays unknown; there is nothing to infer beyond the class. The class is a transient failure, so retry_with_backoff is the class-level answer and needs no knowledge of the specific code. Confidence is low by construction.","4.0.x — Other or Undefined Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"108"1.0.0","esc-prefix-4-1","derived","2","","4.1.","enhanced_status_code","enhanced_status_prefix","4.1.","transient","recipient_invalid","unverified","retry_with_backoff","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.1 to Addressing Status. The subject is addressing, so recipient_invalid is the band's meaning. The class is a transient failure, so retry_with_backoff is the class-level answer and needs no knowledge of the specific code. Confidence is low by construction.","4.1.x — Addressing Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"109"1.0.0","esc-prefix-4-2","derived","2","","4.2.","enhanced_status_code","enhanced_status_prefix","4.2.","transient","mailbox_state","unverified","retry_with_backoff","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.2 to Mailbox Status. The subject is mailbox status, so mailbox_state covers the band: a mailbox that exists but will not take this delivery. It deliberately stops short of recipient_invalid, which the band does not assert. The class is a transient failure, so retry_with_backoff is the class-level answer and needs no knowledge of the specific code. Confidence is low by construction.","4.2.x — Mailbox Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"110"1.0.0","esc-prefix-4-3","derived","2","","4.3.","enhanced_status_code","enhanced_status_prefix","4.3.","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.3 to Mail System Status. The subject is mail-system status — the receiving system rather than the address — so infrastructure. The class is a transient failure, so retry_with_backoff is the class-level answer and needs no knowledge of the specific code. Confidence is low by construction.","4.3.x — Mail System Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"111"1.0.0","esc-prefix-4-4","derived","2","","4.4.","enhanced_status_code","enhanced_status_prefix","4.4.","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.4 to Network and Routing Status. The subject is network and routing status, which is infrastructure on either side of the hop and never a statement about the recipient. The class is a transient failure, so retry_with_backoff is the class-level answer and needs no knowledge of the specific code. Confidence is low by construction.","4.4.x — Network and Routing Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"112"1.0.0","esc-prefix-4-5","derived","2","","4.5.","enhanced_status_code","enhanced_status_prefix","4.5.","transient","infrastructure","unverified","retry_with_backoff","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.5 to Mail Delivery Protocol Status. The subject is mail delivery protocol status: a protocol or command-level disagreement between the two systems, mapped to infrastructure. The class is a transient failure, so retry_with_backoff is the class-level answer and needs no knowledge of the specific code. Confidence is low by construction.","4.5.x — Mail Delivery Protocol Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"113"1.0.0","esc-prefix-4-7","derived","2","","4.7.","enhanced_status_code","enhanced_status_prefix","4.7.","transient","policy_block","unverified","retry_with_backoff","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.7 to Security or Policy Status. The subject is security or policy status, and policy_block is the least specific member of that group — the same choice the catalogued x.7.0 catch-alls make. Authentication, reputation and content blocks all live in this band too, and a fallback must not guess which one it caught. The class is a transient failure, so retry_with_backoff is the class-level answer and needs no knowledge of the specific code. Confidence is low by construction.","4.7.x — Security or Policy Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"114"1.0.0","esc-prefix-5-0","derived","2","","5.0.","enhanced_status_code","enhanced_status_prefix","5.0.","permanent","unknown","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.0 to Other or Undefined Status. The subject sub-code is the registry's own undefined slot, so cause_family stays unknown; there is nothing to infer beyond the class. The class is a permanent failure. Confidence is low by construction.","5.0.x — Other or Undefined Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"115"1.0.0","esc-prefix-5-1","derived","2","","5.1.","enhanced_status_code","enhanced_status_prefix","5.1.","permanent","recipient_invalid","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.1 to Addressing Status. The subject is addressing, so recipient_invalid is the band's meaning. The class is a permanent failure. Confidence is low by construction.","5.1.x — Addressing Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"116"1.0.0","esc-prefix-5-2","derived","2","","5.2.","enhanced_status_code","enhanced_status_prefix","5.2.","permanent","mailbox_state","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.2 to Mailbox Status. The subject is mailbox status, so mailbox_state covers the band: a mailbox that exists but will not take this delivery. It deliberately stops short of recipient_invalid, which the band does not assert. The class is a permanent failure. Confidence is low by construction.","5.2.x — Mailbox Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"117"1.0.0","esc-prefix-5-3","derived","2","","5.3.","enhanced_status_code","enhanced_status_prefix","5.3.","permanent","infrastructure","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.3 to Mail System Status. The subject is mail-system status — the receiving system rather than the address — so infrastructure. The class is a permanent failure. Confidence is low by construction.","5.3.x — Mail System Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"118"1.0.0","esc-prefix-5-4","derived","2","","5.4.","enhanced_status_code","enhanced_status_prefix","5.4.","permanent","infrastructure","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.4 to Network and Routing Status. The subject is network and routing status, which is infrastructure on either side of the hop and never a statement about the recipient. The class is a permanent failure. Confidence is low by construction.","5.4.x — Network and Routing Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"119"1.0.0","esc-prefix-5-5","derived","2","","5.5.","enhanced_status_code","enhanced_status_prefix","5.5.","permanent","infrastructure","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.5 to Mail Delivery Protocol Status. The subject is mail delivery protocol status: a protocol or command-level disagreement between the two systems, mapped to infrastructure. The class is a permanent failure. Confidence is low by construction.","5.5.x — Mail Delivery Protocol Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"120"1.0.0","esc-prefix-5-6","derived","2","","5.6.","enhanced_status_code","enhanced_status_prefix","5.6.","permanent","content_block","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.6 to Message Content or Media Status. The subject is message content or media status, so content_block. The class is a permanent failure. Confidence is low by construction.","5.6.x — Message Content or Media Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[]"121"1.0.0","esc-prefix-5-7","derived","2","","5.7.","enhanced_status_code","enhanced_status_prefix","5.7.","permanent","policy_block","unverified","do_not_retry","no_recommendation","low","true","RFC 3463 assigns subject sub-code x.7 to Security or Policy Status. The subject is security or policy status, and policy_block is the least specific member of that group — the same choice the catalogued x.7.0 catch-alls make. Authentication, reputation and content blocks all live in this band too, and a fallback must not guess which one it caught. The class is a permanent failure. Confidence is low by construction.","5.7.x — Security or Policy Status (band fallback)","https://www.rfc-editor.org/rfc/rfc3463#section-3","","[""5.7.28""]"122