9b095d5f514b4442bb0c5a437279774507bed6f3
[recipes.git] / backend / src / email.rs
1 use lettre::{transport::smtp::authentication::Credentials, Message, SmtpTransport, Transport};
2
3 ///
4 pub fn send_validation(site_url: &str, email: &str, token: &str, smtp_login: &str, smtp_password: &str) -> Result<(), Box<dyn std::error::Error>> {
5 let email = Message::builder()
6 .message_id(None)
7 .from("recipes@gburri.org".parse()?)
8 .to(email.parse()?)
9 .subject("Recipes.gburri.org account validation")
10 .body(format!("Follow this link to confirm your inscription: {}/validation?token={}", site_url, token))?;
11
12 let credentials = Credentials::new(smtp_login.to_string(), smtp_password.to_string());
13
14 let mailer = SmtpTransport::relay("mail.gandi.net")?.credentials(credentials).build();
15
16 if let Err(error) = mailer.send(&email) {
17 eprintln!("Error when sending E-mail:\n{:?}", &error);
18 }
19
20 Ok(())
21 }