2 个版本
0.1.1 | 2020 年 7 月 15 日 |
---|---|
0.1.0 | 2020 年 7 月 6 日 |
49 在 #send-message
每月 85 次下载
52KB
858 行
mailgun-rs
用 Rust 编写的 MailGun API 客户端。
此包帮助简化与 MailGun API 的交互。您需要提供 API 密钥 和 域名。
使用方法
发送消息
use mailgun_sdk::{
Client,
ParamList,
send_message::{SendMessageParam, SendMessageParamList},
};
let client = Client::new("ApiKey", "Domain");
let params = SendMessageParamList::default()
.add(SendMessageParam::To("[email protected]"))
.add(SendMessageParam::From("[email protected]"))
.add(SendMessageParam::Subject("Test Message"))
.add(SendMessageParam::Html(r#"<html>
<body>
<h1>Test Message</h1>
</body>
</html>"#));
if let Err(error) = client.send_message(params) {
eprintln!("Error: {:?}", error);
}
此包不强制执行发送消息的规则。然而,在发送消息时,您几乎总是需要设置以下内容
- 主题
- 收件人
- 发件人
- Html 和/或 Text
注意:并非所有发送消息的请求参数都已测试。如果您发现任何不起作用的参数,请随时创建工单或创建拉取请求。
分页
对于返回结果列表的 API 调用,MailGun 返回一个 分页
结构。分页字段都是 URL。您可以使用 调用
方法获取这些页面,而不是解析这些页面。
let mut response = client.get_bounces(GetBouncesParamList::default()).unwrap();
let mut bounces = response.items;
if bounces.len() > 0 {
loop {
response = client.call(&response.paging.next).unwrap();
if response.items.len() == 0 {
break;
} else {
bounces.append(&mut response.items);
}
}
}
更多示例
let client = Client::new("ApiKey", "Domain");
// Get all events.
let events = client.get_events(GetEventsParamList::default()).unwrap();
// Get all bounces.
let bounces = client.get_bounces(GetBouncesParamList::default()).unwrap();
// Get account stats.
let stats = client.get_stats(GetStatsParamList::default()).unwrap();
测试
在开始测试之前,您需要在项目的根目录中创建一个 .test.env
文件。
touch ./.test.env
文件应包含以下设置
MAILGUN_API_KEY=''
MAILGUN_DOMAIN=''
依赖关系
~2.3–3.5MB
~94K SLoC