git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[GSoC PATCH v9 0/2] send-email: improve error capture and status code handling

From
Zheng Yuting <05zyt30@gmail.com>
Date
Mar 26, 2025, 07:52 UTC
Message-ID
<20250326075246.2612627-1-05ZYT30@gmail.com>
In-Reply-To
<20250324145332.571813-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 v9 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 v9 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

Previous: Junio C HamanoNext: Zheng Yuting
Message 25 of 27 in “Refactor SMTP Auth Error Handling”
  1. 0/1 Refactor SMTP Auth Error HandlingZheng Yuting, Mar 12, 2025
  2. 1/1 Unify SMTP auth error handlingZheng Yuting, Mar 12, 2025
  3. Junio C HamanoMar 13, 2025
  4. Yuting ZhengMar 14, 2025
  5. 0/2 smtp_auth_maybe: unified error capture and status code processing optimizationZheng Yuting, Mar 16, 2025
  6. 1/2 Unify capture of SMTP errorsZheng Yuting, Mar 16, 2025
  7. 2/2 Error handling for SMTP status codesZheng Yuting, Mar 16, 2025
  8. Junio C HamanoMar 17, 2025
  9. 0/2 sendemail: improve error capture and status code handlingZheng Yuting, Mar 19, 2025
  10. 1/2 sendemail: capture errors in an eval {} blockZheng Yuting, Mar 19, 2025
  11. 2/2 sendemail: finer-grained SMTP error handlingZheng Yuting, Mar 19, 2025
  12. Meet SoniMar 19, 2025
  13. 0/2 send-email: improve error capture and status code handlingZheng Yuting, Mar 21, 2025
  14. 1/2 send-email: capture errors in an eval {} blockZheng Yuting, Mar 21, 2025
  15. 2/2 send-email: finer-grained SMTP error handlingZheng Yuting, Mar 21, 2025
  16. Junio C HamanoMar 21, 2025
  17. 0/2 send-email: improve error capture and status code handlingZheng Yuting, Mar 23, 2025
  18. 1/2 send-email: capture errors in an eval {} blockZheng Yuting, Mar 23, 2025
  19. 2/2 send-email: finer-grained SMTP error handlingZheng Yuting, Mar 23, 2025
  20. Junio C HamanoMar 24, 2025
  21. 0/2 send-email: improve error capture and status code handlingZheng Yuting, Mar 24, 2025
  22. 1/2 send-email: capture errors in an eval {} blockZheng Yuting, Mar 24, 2025
  23. 2/2 send-email: finer-grained SMTP error handlingZheng Yuting, Mar 24, 2025
  24. Junio C HamanoMar 25, 2025
  25. 0/2 send-email: improve error capture and status code handlingZheng Yuting, Mar 26, 2025
  26. 1/2 send-email: capture errors in an eval {} blockZheng Yuting, Mar 26, 2025
  27. 2/2 send-email: finer-grained SMTP error handlingZheng Yuting, Mar 26, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.