#send-email #email-client #resend #client-send #attachment #sending #api-client

resend-email

Client library to send emails using the Resend API

3 releases

0.1.3 Oct 3, 2023
0.1.2 Oct 3, 2023
0.1.0 Oct 2, 2023

#190 in Email

MIT license

8KB
146 lines

resend-email

Library for sending emails with Resend

Create your emails mail::MailText and mail::MailHtml for each case

Send files with mail::Attachment

Send emails with client::ResendClient

Read the id of your new email from client::Email

Examples

send text email

use resend_email::client::ResendClient;
use resend_email::email::MailText;

 async fn send_mail_text() {
        let mail = MailText {
            from: "Acme <onboarding@resend.dev>",
            to: vec!["test_email@gmail.com"],
            subject: "a",
            text: "a",
            attachments: None,
        };

        let client = ResendClient::new(YOUR_RESEND_API_TOKEN);
        let resp = client.send(&mail).await.unwrap();
        println!("{:?}", resp) // client::Email;
    }

send html email

use resend_email::client::ResendClient;
use resend_email::email::MailHtml;

   async fn send_mail_html() {
        let mail = MailHtml {
            from: "Acme <onboarding@resend.dev>",
            to: vec!["test_email@gmail.com"],
            subject: "a",
            html: "<p>hola</p>",
            attachments: None,
        };

        let client = ResendClient::new(YOUR_RESEND_API_TOKEN);
        let resp = client.send(&mail).await.unwrap();
        println!("{:?}", resp) // client::Email;
    }

send email with attachment

use resend_email::client::ResendClient;
use resend_email::email::{Attachment, MailHtml};

   async fn send_mail_attachtment() {
        let image = Attachment {
            content: vec![],
            filename: "image.png",
        };
        
        let mail = MailHtml {
            from: "Acme <onboarding@resend.dev>",
            to: vec!["test_email@gmail.com"],
            subject: "a",
            html: "<p>hola</p>",
            attachments: Some(vec![image]),
        };

        let client = ResendClient::new(YOUR_RESEND_API_TOKEN);
        let resp = client.send(&mail).await.unwrap();
        println!("{:?}", resp) // client::Email;
    }

Dependencies

~6–18MB
~257K SLoC