1 个不稳定版本
0.1.1 | 2019 年 3 月 4 日 |
---|
#265 在 电子邮件
每月 21 次下载
用于 pushpop
21KB
362 行
mail-test-account
文档可以在 docs.rs 上查看。
一个用于加载/存储和创建新的邮件测试帐户的库。这些帐户将用于提供邮件提交代理 (MSA) 的服务器/服务,该代理接受邮件但从不投递,并且您可以通过它访问邮件。
目前使用 ethereal.mail
作为创建新帐户的服务。
在创建帐户之前,库尝试从配置目录(使用 xdg 目录规范)加载帐户信息。默认帐户存储和加载的 test_account_info()
函数存储在 ~/.config/mail-test-account/test_account.json
。如果使用不同的标记,则文件名将更改(默认标记为 test_account
)。可以通过与更改 xdg 配置目录相同的方式更改配置目录(例如,使用 XDG_CONFIG_HOME
环境变量)。
目标
此包可以以三种方式使用
- 作为库(预期用途)。
- 作为命令行工具(使用
cargo run --features="clap"
),输出格式化的 JSON。 - 运行 README 示例(使用
cargo run --example readme
),输出格式化供人类消费的信息。
示例
您可以使用 cargo run --example readme
运行以下示例。
use mail_test_account::test_account_info;
fn main() {
let info = test_account_info().unwrap();
println!("ACCOUNT/CREDENTIALS");
println!(" username: {}", info.account.username);
println!(" password: {}", info.account.password);
if let Some(smtp) = info.smtp {
println!("SMTP");
println!(" host: {}", smtp.host);
println!(" port: {}", smtp.port);
if smtp.use_tls_directly {
println!(" use non standard direct TLS instead of STARTTLS");
} else {
println!(" use STARTTLS");
}
}
if let Some(imap) = info.imap {
println!("IMAP");
println!(" host: {}", imap.host);
println!(" port: {}", imap.port);
}
if let Some(pop3) = info.pop3 {
println!("POP3");
println!(" host: {}", pop3.host);
println!(" port: {}", pop3.port);
}
if let Some(web) = info.web {
println!("WEBSITE");
println!(" uri: {}", web.uri);
}
}
输出类似以下内容
ACCOUNT/CREDENTIALS
username: ----@ethereal.email
password: -------------------
SMTP
host: smtp.ethereal.email
port: 587
use STARTTLS
IMAP
host: imap.ethereal.email
port: 993
POP3
host: pop3.ethereal.email
port: 995
WEBSITE
uri: https://ethereal.email
许可
根据您的选择,许可协议为
- Apache 许可协议第 2 版(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可协议(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交以包含在工作中的任何贡献,都将双授权如上,不附加任何额外条款或条件。
依赖项
~19MB
~425K SLoC