function protonmail(domain, verification, dkim) -- Configure mail records for protonmail -- Verification txt(domain, "protonmail-verification=" .. verification) -- MX records mx(domain, "mail.protonmail.ch", 10) mx(domain, "mailsec.protonmail.ch", 20) -- SPF txt(domain, "v=spf1 include:_spf.protonmail.ch mx ~all") -- DKIM -- TODO: use concat()? cname("protonmail._domainkey", "protonmail.domainkey." .. dkim .. ".domains.proton.ch.") cname("protonmail2._domainkey", "protonmail2.domainkey." .. dkim .. ".domains.proton.ch.") cname("protonmail3._domainkey", "protonmail3.domainkey." .. dkim .. ".domains.proton.ch.") -- DMARC txt("_dmarc", "v=DMARC1; p=quarantine") end function fastmail(domain) -- Configure mail records for fastmail mx(domain, "in1-smtp.messagingengine.com", 10) mx(domain, "in2-smtp.messagingengine.com", 20) cname("fm1._domainkey", "fm1." .. domain .. ".dkim.fmhosted.com") cname("fm2._domainkey", "fm2." .. domain .. ".dkim.fmhosted.com") cname("fm3._domainkey", "fm3." .. domain .. ".dkim.fmhosted.com") txt(domain, "v=spf1 include:spf.messagingengine.com ?all") end function vanityns(ns1, ns2) -- Configure vanity DNS nameservers aaaa(concat(ns1, "ns"), "2001:67c:25a0::1") a(concat(ns1, "ns"), "185.142.218.1") aaaa(concat(ns2, "ns"), "2001:67c:25a0::2") a(concat(ns2, "ns"), "185.142.218.2") end