This patch series improves SMTP authentication error handling. Auth relied solely on return values without capturing exceptions, misjudging non-credential errors as authentication failures. Patch v6 1/2 wraps the auth process in an eval {} block to catch all exceptions, adds var error for future handling, and var result to return auth state. Patch v6 2/2 introduces finer-grained SMTP error handling, extracting status codes per RFC 5321 to differentiate between temporary (4yz) and permanent (5yz) errors. Unrecognized codes are treated as permanent failures. Otherwise return the authentication result. Zheng Yuting (2): send-email: capture errors in an eval {} block send-email: finer-grained SMTP error handling git-send-email.perl | 62 ++++++++++++++++++++++++++++++++------------- 1 file changed, 45 insertions(+), 17 deletions(-) -- 2.48.1