infrastructure/dns/default_records.js

53 lines
1.3 KiB
JavaScript

function mx_default(no_send) {
result = [
CNAME("autoconfig", "mail.serguzim.me."),
CNAME("autodiscover", "mail.serguzim.me."),
SRV("_autodiscover._tcp", 1, 1, 443, "mail.serguzim.me."),
TXT("_dmarc", "v=DMARC1; p=quarantine; rua=mailto:dmarcreports@serguzim.me; ruf=mailto:dmarcreports@serguzim.me; rf=afrf; sp=quarantine; fo=1; pct=100; ri=604800; adkim=r; aspf=r"),
TXT("_smtp._tls", "v=TLSRPTv1; rua=mailto:dmarcreports@serguzim.me"),
TLSA("_25._tcp", 3, 1, 1, "70143145ab67680a3b61fe2d0eb63319625fa086f845cce59afdbf1dad79e561"),
MX("@", 10, "mail.serguzim.me."),
MX("*", 10, "mail.serguzim.me."),
];
if (no_send) {
result.push(
TXT("*", "v=spf1 -all"),
TXT("@", "v=spf1 -all"),
);
} else {
result.push(
TXT("*", "v=spf1 -all"),
TXT("@", "v=spf1 mx -all"),
TXT("mail-ses", "v=spf1 include:amazonses.com -all"),
MX("mail-ses", 10, "feedback-smtp.eu-north-1.amazonses.com."),
);
}
return result;
}
function pgp_verify() {
return TXT("@", "openpgp4fpr:723B78C0BF8D8C721D2C4EEF41E544A54E2533B2");
}
function all_defaults(domain, add_pgp) {
var result = [
collect_services(domain),
];
if (add_pgp) {
result.push(pgp_verify());
}
if (dkim_ses[domain]) {
result.push(mx_default(false));
result.push(verify_amazon_ses(dkim_ses[domain]));
}
return result;
}