46 lines
1.3 KiB
Rust
46 lines
1.3 KiB
Rust
//! mailer-security: DKIM, SPF, DMARC verification, and IP reputation checking.
|
|
|
|
pub mod content_scanner;
|
|
pub mod dkim;
|
|
pub mod dmarc;
|
|
pub mod error;
|
|
pub mod ip_reputation;
|
|
pub mod spf;
|
|
pub mod verify;
|
|
|
|
// Re-exports for convenience
|
|
pub use dkim::{dkim_dns_record_value, dkim_dns_record_value_typed, dkim_outputs_to_results, sign_dkim, sign_dkim_auto, sign_dkim_ed25519, verify_dkim, DkimVerificationResult};
|
|
pub use dmarc::{check_dmarc, DmarcPolicy, DmarcResult};
|
|
pub use verify::{verify_email_security, EmailSecurityResult};
|
|
pub use error::{Result, SecurityError};
|
|
pub use ip_reputation::{
|
|
check_dnsbl, check_reputation, risk_level, DnsblResult, IpType, ReputationResult, RiskLevel,
|
|
DEFAULT_DNSBL_SERVERS,
|
|
};
|
|
pub use spf::{check_spf, check_spf_ehlo, received_spf_header, SpfResult};
|
|
|
|
// Re-export mail-auth's MessageAuthenticator for callers to construct
|
|
pub use mail_auth::MessageAuthenticator;
|
|
|
|
pub use mailer_core;
|
|
|
|
/// Crate version.
|
|
pub fn version() -> &'static str {
|
|
env!("CARGO_PKG_VERSION")
|
|
}
|
|
|
|
/// Create a MessageAuthenticator using Cloudflare DNS over TLS.
|
|
pub fn default_authenticator() -> std::result::Result<MessageAuthenticator, Box<dyn std::error::Error>> {
|
|
Ok(MessageAuthenticator::new_cloudflare_tls()?)
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn test_version() {
|
|
assert!(!version().is_empty());
|
|
}
|
|
}
|