@@ -16,7 +16,7 @@ pub(crate) mod server_params;
16
16
use anyhow:: { bail, ensure, format_err, Context as _, Result } ;
17
17
use auto_mozilla:: moz_autoconfigure;
18
18
use auto_outlook:: outlk_autodiscover;
19
- use deltachat_contact_tools:: EmailAddress ;
19
+ use deltachat_contact_tools:: { addr_normalize , EmailAddress } ;
20
20
use futures:: FutureExt ;
21
21
use futures_lite:: FutureExt as _;
22
22
use percent_encoding:: utf8_percent_encode;
@@ -70,9 +70,9 @@ impl Context {
70
70
/// Deprecated since 2025-02; use `add_transport_from_qr()`
71
71
/// or `add_or_update_transport()` instead.
72
72
pub async fn configure ( & self ) -> Result < ( ) > {
73
- let param = EnteredLoginParam :: load ( self ) . await ?;
73
+ let mut param = EnteredLoginParam :: load ( self ) . await ?;
74
74
75
- self . add_transport_inner ( & param) . await
75
+ self . add_transport_inner ( & mut param) . await
76
76
}
77
77
78
78
/// Configures a new email account using the provided parameters
@@ -104,7 +104,7 @@ impl Context {
104
104
/// from a server encoded in a QR code.
105
105
/// - [Self::list_transports()] to get a list of all configured transports.
106
106
/// - [Self::delete_transport()] to remove a transport.
107
- pub async fn add_or_update_transport ( & self , param : & EnteredLoginParam ) -> Result < ( ) > {
107
+ pub async fn add_or_update_transport ( & self , param : & mut EnteredLoginParam ) -> Result < ( ) > {
108
108
self . stop_io ( ) . await ;
109
109
let result = self . add_transport_inner ( param) . await ;
110
110
if result. is_err ( ) {
@@ -117,7 +117,7 @@ impl Context {
117
117
Ok ( ( ) )
118
118
}
119
119
120
- async fn add_transport_inner ( & self , param : & EnteredLoginParam ) -> Result < ( ) > {
120
+ async fn add_transport_inner ( & self , param : & mut EnteredLoginParam ) -> Result < ( ) > {
121
121
ensure ! (
122
122
!self . scheduler. is_running( ) . await ,
123
123
"cannot configure, already running"
@@ -126,6 +126,7 @@ impl Context {
126
126
self . sql. is_open( ) . await ,
127
127
"cannot configure, database not opened."
128
128
) ;
129
+ param. addr = addr_normalize ( & param. addr ) ;
129
130
let old_addr = self . get_config ( Config :: ConfiguredAddr ) . await ?;
130
131
if self . is_configured ( ) . await ? && !addr_cmp ( & old_addr. unwrap_or_default ( ) , & param. addr ) {
131
132
bail ! ( "Changing your email address is not supported right now. Check back in a few months!" ) ;
0 commit comments