diff options
author | Zheng Yuting <05zyt30@gmail.com> | 2025-03-26 15:52:46 +0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2025-04-07 14:54:05 -0700 |
commit | 1ac402cdf3d5a82d3ba8943a452e84f54f398522 (patch) | |
tree | ab2ac1a084cbc88cfb8086961ba6205f802862e7 /builtin/commit.c | |
parent | ce20dec4a4de8a75cbc9735538c9430e68d3c1f8 (diff) |
send-email: finer-grained SMTP error handling
Code captured errors but did not process them further.
This treated all failures the same without distinguishing SMTP status.
Add handle-smtp_error to extract SMTP status codes using a regex (as
defined in RFC 5321) and handle errors as follows:
- No error present:
- If a result is provided, return 1 to indicate success.
- Otherwise, return 0 to indicate failure.
- Error present with a captured three-digit status code:
- For 4yz (transient errors), return 1 and allow retries.
- For 5yz (permanent errors), return 0 to indicate failure.
- For any other recognized status code, return 1, treating it as
a transient error.
- Error present but no status code found:
- Return 1 as a transient error.
Signed-off-by: Zheng Yuting <05ZYT30@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/commit.c')
0 files changed, 0 insertions, 0 deletions