Part of #18
Question
When a capability check fails, is the failure a settled fact or a momentary condition? The re-check policy depends on telling them apart.
Both were observed live against T-Online on the same credentials:
535 5.7.0 Authentication rejected / Authentication failed. — SMTP, permanent-looking 5xx
421 IP=... No more parallel connections from your address allowed — SMTP, transient 4xx rate limit
Establish from primary sources (RFC 5321 for SMTP reply codes, RFC 3501/9051 for IMAP responses, plus smtplib/imaplib exception surfaces):
- Which SMTP reply classes mean "these credentials will never work" vs "try again later"?
- What is the IMAP equivalent —
NO vs BAD vs connection-level failures — and how does imaplib surface each?
- Do the Python stdlib exception types (
SMTPAuthenticationError, SMTPConnectError, IMAP4.error, IMAP4.abort) preserve enough to classify reliably, or must reply codes be parsed?
- Is there a documented convention for how mail clients treat a 4xx during credential verification?
Output: a classification a re-check policy can be written against.
Part of #18
Question
When a capability check fails, is the failure a settled fact or a momentary condition? The re-check policy depends on telling them apart.
Both were observed live against T-Online on the same credentials:
535 5.7.0 Authentication rejected / Authentication failed.— SMTP, permanent-looking 5xx421 IP=... No more parallel connections from your address allowed— SMTP, transient 4xx rate limitEstablish from primary sources (RFC 5321 for SMTP reply codes, RFC 3501/9051 for IMAP responses, plus
smtplib/imaplibexception surfaces):NOvsBADvs connection-level failures — and how doesimaplibsurface each?SMTPAuthenticationError,SMTPConnectError,IMAP4.error,IMAP4.abort) preserve enough to classify reliably, or must reply codes be parsed?Output: a classification a re-check policy can be written against.