#52744491 · 19 May 2018, 21:11 · · პროფილი · პირადი მიმოწერა · ჩატი
გამარჯობა, პროექტში მჭირდება სხვადასხვა ენენბზე/framework-ებზე გამზადებული კოდი ერთიდაიგივე დანიშნულებისთვის. დაახ. 20 მაქვს ჯერჯერობით, Rust-ზე ვერ ავაწყვე ბოლომდე და ვინმე თუ ერკვევით ისე რო შეძლოთ ერთ-ერთი ბიბლიოთეკის API-ს დათვალიერება და დახმარება იქნებ შემეხმიანოთ. * * * გავაკეტე ჩემით, თუ შეიძლება დახუროს თემა მოდერატორმა.
ცოტა რთული იყო, SSL-ით როცა მქონდა გაშვებული smtp სერვერი არ აგზავნიდა, ვერ ვუსაბამებდი შესაბამის პროტოკოლს
CODE | extern crate lettre; extern crate lettre_email; extern crate env_logger; 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() { env_logger::init();
let email = EmailBuilder::new() .to(("to@example.com")) .from("from@example.com") .subject("Example subject") .text("Example text") .build() .unwrap();
pub const DEFAULT_TLS_PROT: &[Protocol] = &[Protocol::Tlsv10];
let mut tls_builder = TlsConnector::builder().unwrap(); tls_builder.supported_protocols(DEFAULT_TLS_PROT).unwrap();
let tls_parameters = ClientTlsParameters::new( "smtp.example.com".to_string(), tls_builder.build().unwrap() );
pub const SUBMISSION_PORT: u16 = 465;
let mut mailer = SmtpTransportBuilder::new( ("smtp.example.com", SUBMISSION_PORT), ClientSecurity::Wrapper(tls_parameters) ) .expect("Failed to create transport") .authentication_mechanism(Mechanism::Login) .credentials(Credentials::new( "example".to_string(), "example".to_string() )) .connection_reuse(ConnectionReuseParameters::ReuseUnlimited) .build();
println!("{:?}", mailer.send(&email));
mailer.close(); }
|
|