mirror of
https://github.com/chatmail/core.git
synced 2026-05-08 17:36:29 +03:00
Use map_err in Smtp.connect() instead of match
This commit is contained in:
@@ -80,15 +80,12 @@ impl Smtp {
|
|||||||
return Err(Error::BadParameters);
|
return Err(Error::BadParameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
self.from = match EmailAddress::new(lp.addr.clone()) {
|
let from =
|
||||||
Ok(addr) => Some(addr),
|
EmailAddress::new(lp.addr.clone()).map_err(|err| Error::InvalidLoginAddress {
|
||||||
Err(err) => {
|
address: lp.addr.clone(),
|
||||||
return Err(Error::InvalidLoginAddress {
|
error: err,
|
||||||
address: lp.addr.clone(),
|
})?;
|
||||||
error: err,
|
self.from = Some(from);
|
||||||
})
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let domain = &lp.send_server;
|
let domain = &lp.send_server;
|
||||||
let port = lp.send_port as u16;
|
let port = lp.send_port as u16;
|
||||||
@@ -135,30 +132,23 @@ impl Smtp {
|
|||||||
lettre::smtp::ClientSecurity::Wrapper(tls_parameters)
|
lettre::smtp::ClientSecurity::Wrapper(tls_parameters)
|
||||||
};
|
};
|
||||||
|
|
||||||
match lettre::smtp::SmtpClient::new((domain.as_str(), port), security) {
|
let client = lettre::smtp::SmtpClient::new((domain.as_str(), port), security)
|
||||||
Ok(client) => {
|
.map_err(Error::ConnectionSetupFailure)?;
|
||||||
let client = client
|
|
||||||
.smtp_utf8(true)
|
let client = client
|
||||||
.credentials(creds)
|
.smtp_utf8(true)
|
||||||
.authentication_mechanism(mechanism)
|
.credentials(creds)
|
||||||
.connection_reuse(lettre::smtp::ConnectionReuseParameters::ReuseUnlimited);
|
.authentication_mechanism(mechanism)
|
||||||
let mut trans = client.transport();
|
.connection_reuse(lettre::smtp::ConnectionReuseParameters::ReuseUnlimited);
|
||||||
match trans.connect() {
|
let mut trans = client.transport();
|
||||||
Ok(()) => {
|
trans.connect().map_err(Error::ConnectionFailure)?;
|
||||||
self.transport = Some(trans);
|
|
||||||
self.transport_connected = true;
|
self.transport = Some(trans);
|
||||||
context.call_cb(Event::SmtpConnected(format!(
|
self.transport_connected = true;
|
||||||
"SMTP-LOGIN as {} ok",
|
context.call_cb(Event::SmtpConnected(format!(
|
||||||
lp.send_user,
|
"SMTP-LOGIN as {} ok",
|
||||||
)));
|
lp.send_user,
|
||||||
return Ok(());
|
)));
|
||||||
}
|
Ok(())
|
||||||
Err(err) => return Err(Error::ConnectionFailure(err)),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Err(err) => {
|
|
||||||
return Err(Error::ConnectionSetupFailure(err));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user