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 次下载

MIT/Apache

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