5个不稳定版本

0.2.1 2020年8月31日
0.2.0 2020年8月31日
0.1.1 2020年8月24日
0.1.0 2020年8月23日
0.0.1 2020年8月23日

#201 in 电子邮件

每月21次下载

MIT 许可证

21KB
276

Mailgun API

Crate Info API Docs Discord Chat Donate by Paypal Donate by Paypal

异步通过Mailgun发送电子邮件

如何安装它

  1. 在项目的Cargo.toml文件中添加以下依赖项
mailgun_api = "0.2"
reqwest = {version = "0.10", features = ["json"]}
serde = { version = "1.0", features = ["derive"]}
serde_derive = "1.0"
serde_json = "1.0"
tokio = { version = "0.2", features = ["macros"]}

示例

use mailgun_api::MailgunApi;
use mailgun_api::api::EmailParams;
use dotenv::dotenv;
use std::env;

// Inside of you tokio implementation
dotenv().ok();

let mailgun_secret = env::var("MAILGUN_SECRET").expect("MAILGUN_SECRET must be set");
let mailgun_domain = env::var("MAILGUN_DOMAIN").expect("MAILGUN_DOMAIN must be set");
let mailgun_endpoint = env::var("MAILGUN_ENDPOINT").expect("MAILGUN_ENDPOINT must be set");
let sender = env::var("EMAIL_FROM").expect("MAIL_FROM must be set");
let receiver = env::var("EMAIL_RECEIVER_TEST").expect("EMAIL_RECEIVER_TEST must be set");

let params = EmailParams {
    from: sender,
    to: receiver,
    subject: "test mailgung api".to_string(),
    text: Some("hello this is a test".to_string()),
    html: None,
};

let mut mailgun = MailgunApi::new(&mailgun_secret, &mailgun_endpoint, &mailgun_domain);

let response = mailgun.send_email::<HashMap<String, String>>(params).await;

assert_eq!(response.is_ok(), true)

如何测试它

  1. 创建一个.env文件并添加以下参数
MAILGUN_DOMAIN=[YOUR DOMAIN]
MAILGUN_SECRET=[YOUR MAILGUN API SECRET]
MAILGUN_ENDPOINT=[MAILGUN ENDPOINT] // There is two endpoint currently: api.mailgun.net and api.eu.mailgun.net
EMAIL_RECEIVER_TEST=[EMAIL RECEIVER TEST]
EMAIL_FROM=[SENDER TEST]
  1. 运行测试 cargo test

警告:在运行测试时,您会向设置的接收者发送电子邮件

关于Dtos

Dtos是用于将Mailgun API检索到的JSON转换为Rust应用程序可访问的数据的结构。由于无法看到任何指定哪些参数可为null的Mailgun文档,因此可能因为Dto属性未按Option类型化而可能在响应中出错(如果发生这种情况,请提交一个问题),因此方法接受泛型,您需要传递提供的Dto或您的Dto

你喜欢Mailgun API吗?

如果你喜欢Mailgun API,请帮助我们支持这个项目

路线图

  • 发送电子邮件
  • 检索存储消息
  • 域名
  • IP
  • 事件
  • 统计
  • 标签
  • 抑制
  • 路由
  • Webhooks
  • 邮件列表
  • 模板
  • 电子邮件验证
  • 收件箱定位

许可证

Mailgun API是以MIT许可证授权的

依赖项

~6–10MB
~210K SLoC