diff --git a/src/imap.rs b/src/imap.rs index d656b9e6b..305508659 100644 --- a/src/imap.rs +++ b/src/imap.rs @@ -16,6 +16,7 @@ use crate::login_param::{dc_build_tls, CertificateChecks, LoginParam}; use crate::message::{self, update_msg_move_state, update_server_uid}; use crate::oauth2::dc_get_oauth2_access_token; use crate::param::Params; +use crate::stock::StockMessage; use crate::wrapmime; const DC_IMAP_SEEN: usize = 0x0001; @@ -445,15 +446,14 @@ impl Imap { let config = self.config.read().unwrap(); let imap_server: &str = config.imap_server.as_ref(); let imap_port = config.imap_port; - - emit_event!( - context, - Event::ErrorNetwork(format!( - "Could not connect to IMAP-server {}:{}. ({})", - imap_server, imap_port, err - )) + let message = context.stock_string_repl_str2( + StockMessage::ServerResponse, + format!("{}:{}", imap_server, imap_port), + format!("{}", err), ); + emit_event!(context, Event::ErrorNetwork(message)); + return false; } }; @@ -467,9 +467,13 @@ impl Imap { true } Err((err, _)) => { + let config = self.config.read().unwrap(); + let imap_user: &str = config.imap_user.as_ref(); + let message = context.stock_string_repl_str(StockMessage::CannotLogin, imap_user); + emit_event!( context, - Event::ErrorNetwork(format!("Cannot login ({})", err)) + Event::ErrorNetwork(format!("{} ({})", message, err)) ); self.unsetup_handle(context); diff --git a/src/stock.rs b/src/stock.rs index dbc7a4bf1..af24bac01 100644 --- a/src/stock.rs +++ b/src/stock.rs @@ -96,7 +96,7 @@ pub enum StockMessage { SelfTalkSubTitle = 50, #[strum(props(fallback = "Cannot login as %1$s."))] CannotLogin = 60, - #[strum(props(fallback = "Response from %1$s: %2$s"))] + #[strum(props(fallback = "Could not connect to %1$s: %2$s"))] ServerResponse = 61, #[strum(props(fallback = "%1$s by %2$s."))] MsgActionByUser = 62, @@ -334,7 +334,7 @@ mod tests { assert_eq!( t.ctx .stock_string_repl_str2(StockMessage::ServerResponse, "foo", "bar"), - "Response from foo: bar" + "Could not connect to foo: bar" ); }