Inviare email in Rust tramite SMTP con lettre

Mattepuffo's logo
Inviare email in Rust tramite SMTP con lettre

Inviare email in Rust tramite SMTP con lettre

In questo articolo vediamo come inviare una email in Rust usando SMTP.

Faremo uso della libreria lettre, molto facile da usare.

Possiamo installarla con questo comando:

cargo add lettre

Qui sotto un esempio di codice:

use lettre::{Message, SmtpTransport, Transport};
use lettre::message::header::ContentType;
use lettre::transport::smtp::authentication::Credentials;

fn main() {
    let from = "Email from <email@from.it>";
    let to = "Email to <email@to.it>";
    let user = "VOSTRA_EMAIL";
    let password = "VOSTRA_PASSWORD";
    let smtp_address = "SMTP_EMAIL";

    let email = Message::builder()
        .from(from.parse().unwrap())
        .to(to.parse().unwrap())
        .subject("Test da Rust")
        .header(ContentType::TEXT_HTML)
        .body(String::from("Questa email è inviata da Rust!"))
        .unwrap();

    let creds = Credentials::new(user.to_owned(), password.to_owned());

    let mailer = SmtpTransport::relay(smtp_address)
        .unwrap()
        .credentials(creds)
        .build();

    match mailer.send(&email) {
        Ok(_) => println!("Email inviata correttamente!"),
        Err(e) => panic!("Errore: {:?}", e),
    }
}

Ovviamente dovete inserire i vostri parametri di accesso della email dalla quale volete inviare tramite SMTP.

Enjoy!


Condividi

Commentami!