From c98d3818d53f7788c084f9e02e0e217151671d69 Mon Sep 17 00:00:00 2001 From: Hocuri Date: Tue, 29 Oct 2024 13:55:15 +0100 Subject: [PATCH] fix: Show root SMTP connection failure in connectivity view (#6121) Right now, when there is an SMTP connection error, the connectivity view will always show "Error: SMTP connection failure: SMTP failed to connect". Instead, I just used the same method that is used in imap connect() already. --- src/smtp.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/smtp.rs b/src/smtp.rs index 9d73501ccd..b426f5b514 100644 --- a/src/smtp.rs +++ b/src/smtp.rs @@ -126,6 +126,7 @@ impl Smtp { let login_params = prioritize_server_login_params(&context.sql, login_params, "smtp").await?; + let mut first_error = None; for lp in login_params { info!(context, "SMTP trying to connect to {}.", &lp.connection); let transport = match connect::connect_and_auth( @@ -143,6 +144,7 @@ impl Smtp { Ok(transport) => transport, Err(err) => { warn!(context, "SMTP failed to connect and authenticate: {err:#}."); + first_error.get_or_insert(err); continue; } }; @@ -157,7 +159,7 @@ impl Smtp { return Ok(()); } - Err(format_err!("SMTP failed to connect")) + Err(first_error.unwrap_or_else(|| format_err!("No SMTP connection candidates provided"))) } }