Skip to content

Instantly share code, notes, and snippets.

@mariogeiger
Created October 16, 2016 18:13
Show Gist options
  • Save mariogeiger/f8e36100afbd4564e20f7884d574b574 to your computer and use it in GitHub Desktop.
Save mariogeiger/f8e36100afbd4564e20f7884d574b574 to your computer and use it in GitHub Desktop.
extern crate lettre;
extern crate env_logger;
use lettre::email::EmailBuilder;
use lettre::transport::smtp::SmtpTransportBuilder;
use lettre::transport::EmailTransport;
use std::error::Error;
fn main() {
env_logger::init().unwrap();
// Pour envoyer des mails epfl -> epfl il n'y a pas besoin d'authentification :
let mut mailer = SmtpTransportBuilder::new(("smtp1.epfl.ch", 25)).unwrap().connection_reuse(true).build();
// Pour envoyer des mails hors de l'epfl il faut s'authentifier !
/*let mut mailer = SmtpTransportBuilder::new(("mail.epfl.ch", 465)).unwrap()
.credentials("mgeiger", include_str!("x").trim())
.ssl_wrapper()
.connection_reuse(true).build();
*/
let email = EmailBuilder::new()
.from("wish@epfl.ch")
.to("mario.geiger@epfl.ch")
.body(include_str!("main.rs"))
.subject("Code pour envoyer des mails")
.build()
.unwrap();
let result = mailer.send(email);
if let Err(e) = result {
println!("Error {:?} : {}", e, e.description());
} else {
println!("Mail sent !!");
}
mailer.close();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment