From: Zheng Yuting <05zyt30@gmail.com> Date: Mon, 24 Mar 2025 14:53:30 GMT Subject: [GSoC PATCH v8 0/2] send-email: improve error capture and status code handling Message-ID: <20250324145332.571813-1-05ZYT30@gmail.com> In-Reply-To: <20250321025128.68463-1-05ZYT30@gmail.com> 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 v8 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 v8 2/2 introduces finer-grained SMTP error handling by extracting status codes per RFC 5321. For 4yz (transient) errors, return 1 and allow retries; for 5yz (permanent) errors, return 0. Unrecognized or uncaught status codes are treated as transient errors (return 1). If no error is present and no result is defined, return 1 as a transient error; 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 | 69 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 15 deletions(-) -- 2.49.0