7个不稳定版本
0.4.1 | 2024年2月10日 |
---|---|
0.4.0 | 2022年2月12日 |
0.3.0 | 2021年5月29日 |
0.2.2 | 2019年8月25日 |
0.1.0 | 2019年1月19日 |
#157 在 电子邮件
每月 26 次下载
18KB
399 代码行
MX DNS
邮件服务器DNS工具。目前此crate支持反向DNS查找和基于DNS的封锁列表查找。
示例
use mxdns::{MxDns, FCrDNS};
let blocklists = vec!["zen.spamhaus.org.","dnsbl-1.uceprotect.net."];
let mxdns = MxDns::new(blocklists).unwrap();
// Check if an IP Address is present on blocklists
let is_blocked = mxdns.is_blocked([127, 0, 0, 2]).unwrap();
assert!(is_blocked);
// Reverse lookup a DNS address
let rdns = mxdns.reverse_dns([193, 25, 101, 5]).unwrap().unwrap();
assert_eq!(rdns, "mail.alienscience.org.");
// Check that the ip resolved from the name obtained by the reverse dns matches the ip
if let Ok(FCrDNS::Confirmed(_domain)) = mxdns.fcrdns([193, 25, 101, 5]) {
// _domain is Confirmed
}
lib.rs
:
电子邮件服务器DNS工具。
目前,支持基于DNS的封锁列表和反向DNS查找。该crate还支持正向确认反向DNS检查。
由于封锁列表基于IP4,这些工具仅支持IP4地址。在可能的情况下,IP6地址将转换为IP4。
示例
use mxdns::{MxDns, FCrDNS};
let blocklists = vec!["zen.spamhaus.org.","dnsbl-1.uceprotect.net."];
let mxdns = MxDns::new(blocklists).unwrap();
// Check if an IP Address is present on blocklists
let is_blocked = mxdns.is_blocked([127, 0, 0, 2]).unwrap();
assert!(is_blocked);
// Reverse lookup a DNS address
let rdns = mxdns.reverse_dns([193, 25, 101, 5]).unwrap().unwrap();
assert_eq!(rdns, "mail.alienscience.org.");
// Check that the ip resolved from the name obtained by the reverse dns matches the ip
if let Ok(FCrDNS::Confirmed(_domain)) = mxdns.fcrdns([193, 25, 101, 5]) {
// _domain is Confirmed
}
依赖项
~5–15MB
~183K SLoC