Mail...hecks(3)

πŸ“¦
version 3.7.1 Β· 3 versions
, in fedora 43, fedora 44

πŸ’– Mail::MIMEDefang::Async::Checks β€” the manual, but make it cute πŸ’–

okay bestie, so this is section 3 of the manual for Mail::MIMEDefang::Async::Checks, and it's genuinely one of my faves because it's just... a whole lil box of pre-built check descriptors for Mail::MIMEDefang::Async. like, you don't have to build your own checks from scratch?? she did that for you. πŸŽ€


✨ NAME ✨

Mail::MIMEDefang::Async::Checks β€” pre-built check descriptors for Mail::MIMEDefang::Async. that's it, that's the whole name, periodt. πŸ’…


🌸 DESCRIPTION 🌸

every function in here returns a check-hashref, and that hashref is exactly the kind of thing you can pass straight into md_async_run_checks(). no cap. 🫢

so the vibe is: mix and match them however you want to build out the checks your filter actually needs. it's giving build-your-own-adventure but for mail filtering. iconic behavior honestly ✨


πŸ¦‹ METHODS πŸ¦‹

md_async_check_dnsbl(%args)

builds a DNSBL A-record lookup check. πŸ•΅οΈβ€β™€οΈ

  • Required args: ip, zone
  • Optional: name, timeout

md_async_check_spf_record(%args)

builds an SPF TXT-record lookup check. ✨

  • Required: domain

md_async_check_mx_exists(%args)

builds an MX-record existence check. lowkey a big deal, because domains with no MX are often forged β€” so if the MX is missing, that's a whole red flag situation. 🚩

  • Required: domain

md_async_check_rdns(%args)

builds a reverse-DNS (PTR) lookup check. πŸ”„

  • Required: ip

md_async_check_dkim_record(%args)

builds an async lookup for a DKIM public-key TXT record sitting at "$selector._domainkey.$domain". πŸ”‘

  • Required: selector, domain

the result is the raw TXT record string, fr fr. and just so you know β€” signature evaluation still happens synchronously via Mail::DKIM after the key gets fetched. so the fetch is async, the eval is not. two different steps, bestie, don't mix them up. πŸ’…

md_async_check_dmarc_record(%args)

builds an async lookup for the DMARC TXT record at "_dmarc.$domain". πŸ›‘οΈ

  • Required: domain

and then β€” and this is the important part β€” use md_async_interpret_dmarc() from Mail::MIMEDefang::Async::Results to parse the result. like, the lookup gives you the thing, the interpret function makes sense of the thing. tag team. 🀝


πŸ‘€ SEE ALSO πŸ‘€

  • Mail::MIMEDefang::Async
  • Mail::MIMEDefang::Async::Results

okay that's the whole page, you ate that πŸ’– this was version 3.7.1, dated 2026-07-20, and it's living in section 3 of the manual. go forth and check things asynchronously, you absolute main character. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from