5 releases

0.1.4 Aug 28, 2023
0.1.3 Aug 27, 2023
0.1.2 Aug 27, 2023
0.1.1 Aug 27, 2023
0.1.0 Aug 27, 2023

#107 in Email

MIT license

11KB
137 lines

a mail sender can produce transmitter and send_email

send with string


let rt = tokio::runtime::Runtime::new().unwrap();

rt.block_on(async {
    //from:senderAccoun
    //smtp_site:use which website to send email
    //password:senderPassword(it can be origin password)
    let mailer = MailerSender {
        from: "<sender@qq.com>".to_string(),
        password: "<senderPassword>".to_string(),
       smtp_site: "smtp.qq.com".to_string(),
    };
    //send_mail params
    //send_email(&self,reciever,email_topic,content(it can be string and html),attachment_name,attachment_path)
    //if dont send attachment,attachment_name and attachment_path fill None
    let _send_result = MailerSender::send_email(
        &mailer,
        "1984850802@qq.com".to_string(),
        "hell".to_string(),
        "hello,surprise".to_string(),
        None,
        None,
    )
    .await;
});

send with html


let rt = tokio::runtime::Runtime::new().unwrap();
rt.block_on(async {
    let mailer = MailerSender {
        from: "<sender@qq.com>".to_string(),
        password: "<senderPassword>".to_string(),
       smtp_site: "smtp.qq.com".to_string(),
    };
    let _send_result = MailerSender::send_email(
        &mailer,
        "1984850802@qq.com".to_string(),
        "hell".to_string(),
        "<h1 style='color:red'>hello,surprisess</h1>".to_string(),
        None,
        None,
    )
    .await;
});

send content and attachment


let rt = tokio::runtime::Runtime::new().unwrap();
rt.block_on(async {
   let mailer = MailerSender {
       from: "1984850802@qq.com".to_string(),
       password: "sfckoixahcpodcbb".to_string(),
       smtp_site: "smtp.qq.com".to_string(),
   };
   let _send_result = MailerSender::send_email(
       &mailer,
       "3502728398@qq.com".to_string(),
       "邮件".to_string(),
       "<h1 style='color:red'>hello,surprise</h1>".to_string(),
       Some("1.pdf".to_string()),
       Some("resume.pdf".to_string()),
   )
   .await;
});

Dependencies

~5–17MB
~219K SLoC