HI
I new to RUST
I am tring to use lettre 0.8 to send a email.
When i use native tls 0.1.5 package compiled with this version does not send email.
Try change the [dependencies] to native-tls = "0.2.2".
But it does not compile.
extern crate lettre;
extern crate lettre_email;
extern crate native_tls;
use native_tls::TlsConnector;
use native_tls::{Protocol};
use lettre::smtp::authentication::{Credentials, Mechanism};
use lettre::{EmailTransport, ClientTlsParameters, ClientSecurity};
use lettre::smtp::ConnectionReuseParameters;
use lettre::smtp::{SmtpTransportBuilder};
use lettre_email::EmailBuilder;
fn main() {
let email = EmailBuilder::new()
.to("amichelins@hotmail.com")
.from("amichelins@gmail.com")
.subject("Example RUST")
.text("Example RUST p' frente")
.build()
.unwrap();
let mut tls_builder = TlsConnector::builder().unwrap();
tls_builder.supported_protocols(&[Protocol::Tlsv10]).unwrap();
let tls_parameters =
ClientTlsParameters::new(
"smtplw.com.br".to_string(),
tls_builder.build().unwrap()
);
let mut mailer = SmtpTransportBuilder::new(("smtplw.com.br", 587), ClientSecurity::Wrapper(tls_parameters))
.expect("Failed to create transport")
.authentication_mechanism(Mechanism::Login)
.credentials(Credentials::new( "login".to_string(), "password".to_string() ))
.connection_reuse(ConnectionReuseParameters::ReuseUnlimited)
.build();
println!("{:?}", mailer.send(&email) );
mailer.close();
}
When native tls is 0.2.2 this line gives error:
let mut tls_builder = TlsConnector::builder().unwrap();
For native tls is 0.2.2 this line is:
let mut tls_builder = TlsConnector::builder();
In this form the erro jumps to this line:
tls_builder.supported_protocols(&[Protocol::Tlsv10]).unwrap();
Error:
"
error[E0599]: no method named supported_protocols
found for type native_tls::TlsConnectorBuilder
in the current scope
--> src\main.rs:31:17
|
31 | tls_builder.supported_protocols(&[Protocol::Tlsv10]).unwrap();
| ^^^^^^^^^^^^^^^^^^^
"
How to solve this issue?
thanks in advance