2 个版本

0.3.1 2024 年 6 月 16 日
0.3.0 2024 年 6 月 15 日
0.2.0 2024 年 6 月 15 日
0.1.0 2024 年 6 月 15 日

#101 in 电子邮件

Download history 123/week @ 2024-06-09 226/week @ 2024-06-16 1/week @ 2024-06-23 23/week @ 2024-06-30

每月 146 次下载

GPL-2.0-or-later

15KB
254 代码行

Rust 中的简单电子邮件发送客户端

此库提供了一个简单的 API,通过 SMTP 发送电子邮件。此 API 主要是对 lettre crate 的包装。

快速入门

要发送电子邮件,向 send_email 函数提供一个 Sender 结构体、一个 Email 结构体和一个 recipient 向量。

use send_email::*;

fn main() {
    let sender = Sender::new(
        "[email protected]", // credential_username
        "PASSWORD",    // password
        "Eric Elon",         // sender name. Leave empty if not needed
        SmtpServer::Gmail,   // provider
        "[email protected]", // reply_addr
    );

    let message = EmailContent::new(
        "Hi",                           // subject
        "Hello, this is a test email.", // body
        false,                          // is_html
        vec!["pic.jpg", "Cargo.toml"],  // path to attachments
    );

    let recipients = vec![
        Recipient::new(
            "Esther Frank",      // name
            "[email protected]", // email
            Category::To,        // category. can be To, Cc, or Bcc
        ),
        Recipient::new(
            "", // name leave empty if not needed
            "[email protected]",
            Category::Cc, // Category.
        ),
    ];

    send_email(&sender, &message, &recipients).unwrap();
}

密码可以存储在 toml 文件中,程序可以安全地从其中读取。

// main.rs
let sender = Sender::new_passwd_from_file(
    "example.com",           // credential_username
    ".password.toml",        // file_path to password
    "Francis Waverley",      // sender_name
    SmtpServer::Gmail,       // provider
);
# .password.toml
password = "PASSWORD"

发送电子邮件就像这样简单。

依赖项

~4–32MB
~515K SLoC