diff --git a/src/setup.rs b/src/setup.rs index 0835c71..10f0ef0 100644 --- a/src/setup.rs +++ b/src/setup.rs @@ -186,7 +186,8 @@ fn setup_imap(existing: Option<&Config>) -> Result { println!("--- IMAP settings ---"); let imap_host = prompt("IMAP host", ex_imap.map(|i| i.host.as_str())); - let imap_port: u16 = prompt("IMAP port", ex_imap.map(|_| "").or(Some("993"))) + let imap_port_default = ex_imap.map(|i| i.port.to_string()); + let imap_port: u16 = prompt("IMAP port", imap_port_default.as_deref().or(Some("993"))) .parse() .unwrap_or(993); let imap_user = prompt("IMAP username (email)", ex_imap.map(|i| i.username.as_str())); @@ -203,7 +204,8 @@ fn setup_imap(existing: Option<&Config>) -> Result { println!("\n--- SMTP settings ---"); let smtp_host = prompt("SMTP host", ex_smtp.map(|s| s.host.as_str())); - let smtp_port: u16 = prompt("SMTP port", ex_smtp.map(|_| "").or(Some("465"))) + let smtp_port_default = ex_smtp.map(|s| s.port.to_string()); + let smtp_port: u16 = prompt("SMTP port", smtp_port_default.as_deref().or(Some("465"))) .parse() .unwrap_or(465); let smtp_user = prompt("SMTP username (email)", ex_smtp.map(|s| s.username.as_str())); @@ -274,15 +276,17 @@ fn setup_proton(existing: Option<&Config>) -> Result { credentials::delete(credentials::PROTON_MAILBOX_PASSWORD); } + let bridge_imap_default = ex_bridge.map(|b| b.imap_port.to_string()); let imap_port: u16 = prompt( "Bridge IMAP port", - ex_bridge.map(|_| "").or(Some("1143")), + bridge_imap_default.as_deref().or(Some("1143")), ) .parse() .unwrap_or(1143); + let bridge_smtp_default = ex_bridge.map(|b| b.smtp_port.to_string()); let smtp_port: u16 = prompt( "Bridge SMTP port", - ex_bridge.map(|_| "").or(Some("1025")), + bridge_smtp_default.as_deref().or(Some("1025")), ) .parse() .unwrap_or(1025);