//! 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> { Ok(MessageAuthenticator::new_cloudflare_tls()?) } #[cfg(test)] mod tests { use super::*; #[test] fn test_version() { assert!(!version().is_empty()); } }