Fix mail dkim handling

This commit is contained in:
Tobias Reisinger 2025-09-15 21:32:12 +02:00
parent 13bd4df3fb
commit c4d26d3a41
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
3 changed files with 26 additions and 25 deletions

View file

@ -1,23 +1,34 @@
function mx_default(dkim) {
return [
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("*", "v=spf1 -all"),
TXT("@", "v=spf1 mx -all"),
TXT("mail-ses", "v=spf1 include:amazonses.com -all"),
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("dkim._domainkey", "v=DKIM1; k=rsa; t=s; s=email; p=" + dkim),
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."),
MX("mail-ses", 10, "feedback-smtp.eu-north-1.amazonses.com.")
];
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() {
@ -33,8 +44,9 @@ function all_defaults(domain, add_pgp) {
result.push(pgp_verify());
}
if (dkim[domain]) {
result.push(mx_default(dkim[domain]));
if (dkim_ses[domain]) {
result.push(mx_default(false));
result.push(verify_amazon_ses(dkim_ses[domain]));
}
return result;

View file

@ -1,7 +0,0 @@
{
"serguzim.me": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZGmMeVFSFu9fIpp22JYMtYGlSdvZQXZOhQGL4beHiOm2uoor7wL/2vrwVBuE87xNFD1Rd/wPOOPUrejAf5RvQUOptOtL+yJPlu/LJPsa3RAEeerXjWaIYPgD47DEUW1ibFHgP66j8e5wh0dB8fzvcMpl/yCCBoO7G+4eowmGJcwIDAQAB",
"msrg.cc": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVhsx0fUgWdV9q/93cmnWZCkvcyT/qLLgbUaFof1VrjIANyCNMFo0FgBQNJ60AOxh8SMfJcybhR5ArtriUC1cxnWhk428SmKqgDNzR+CDP1/9/lF3TlLVzzgALu+8XFzlnvrVFZtSORgvYW9bvyT2RbGY+2qYlUWqtxeqC3QlrqQIDAQAB",
"msvg.cc": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtrqMTg7H2Y54TjTsPV0HaysIZ6yRrnk1rBoIQ6x+MS+WqFdjVFyPdemdQh8T7D5dSM7uoSOicxYA8a9XuMJvYfQgHm7JX3WUQkotOMMGhjDmtc7om+cpQPB2seYZr0weT9ImHKPrL+3d987GCq8ia2Zj/fxmAoB5tAA6Mme1/63+ARHfM5yEFPefr3brDojN5QFLivtp9FXfkEjZfn6OIfS15lak/JqdbaF98GCRR/GEYn1UWfpH8nmMSVEhq/IueGsDc0Q+2hG6ey4HLGHBjdYRvr+qtvviYMB87iy+NA77kd7KddnmLqiOktdMJL7X/gEQjnd0+qPPTtqsLcn+TQIDAQAB",
"reitanlage-oranienburg.de": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHZIA9DOxg5vLg5RZG6b6G6MI2mv4tRiHfRd8lDJZg9gI6DdYGibznw9ljYktcJruWPwTHPz7dr/YgKuzzqOTWBsdfsi4yVQywGsbEfbx/kSbHMMUsxhrDBC1wMAf1G+c2DbmixBLhmFyyY74ekOsWjPRMd/CpPMKQhOyzj/TSMwIDAQAB"
}

View file

@ -3,7 +3,6 @@
require('dns/default_records.js');
require('dns/functions.js');
var dkim = require('dns/dkim.json');
var dkim_ses = require('dns/dkim-ses.json');
var hosts = require('dns/hosts.json');
var services_json = require('dns/services.json');
@ -25,6 +24,7 @@ for (var key in services_json) {
// |_| |_| |_|___/ \_/ \__, (_)___\___|
// |___/
D("msvg.cc", REG_OVH, DnsProvider(DSP_OVH),
mx_default(true),
all_defaults("msvg.cc", true)
);
@ -42,8 +42,6 @@ D("msrg.cc", REG_OVH, DnsProvider(DSP_OVH),
// Matrix
SRV("_matrix._tcp", 1, 1, 8448, "matrix.msrg.cc."),
verify_amazon_ses(dkim_ses["msrg.cc"]),
// SendGrid DKIM
CNAME("em2339.holitime", "u26197282.wl033.sendgrid.net."),
CNAME("s1._domainkey.holitime", "s1.domainkey.u26197282.wl033.sendgrid.net."),
@ -59,7 +57,6 @@ D("msrg.cc", REG_OVH, DnsProvider(DSP_OVH),
// |___/
D("serguzim.me", REG_OVH, DnsProvider(DSP_OVH),
all_defaults("serguzim.me", true),
TXT("direct", "v=spf1 mx -all"),
TLSA("_25._tcp.mail", 3, 1, 1, "70143145ab67680a3b61fe2d0eb63319625fa086f845cce59afdbf1dad79e561"),
@ -67,7 +64,8 @@ D("serguzim.me", REG_OVH, DnsProvider(DSP_OVH),
acme_challenge("db", "ca2c86c0-ff3d-458a-89e0-11bcfd2543e4"),
acme_challenge("", "92924f7c-0859-4941-9e3d-2ecedfb21c1b"),
verify_amazon_ses(dkim_ses["serguzim.me"]),
TXT("direct", "v=spf1 mx -all"),
TXT("dkim._domainkey.direct", "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6u35rrOuft3r46/wo+2lPtylIGs2fsOAcHKGQzFwjjcE6D5XIJULg8mvhi7T6JwB8OUNrukIAy5iwjiAQA6GJoohq53BLL82qzfcZqUepsm4+nf6XTbClGSKbKbgl4wDhYkxSFb/FAK9149gh7zFT1I/vw/RbgjYgwZ//Q+sXFhozo5INtByHXDuSoDL830FM+AgiDCKf3ToM36rL+CTIQcNx0f/xOXFlyl94hvmK74PU8nEpRjSm+i6nPJs2XHpjKurthwoO1qOH/3j+rWSn/VCOFXKDwnMvglu55V2OdCg/+E5nmyyMKapb+R2Jxox+ayZF7VtD90KIrfDuM+vEwIDAQAB"),
verify_dmarc_reports([
"msrg.cc",
@ -105,7 +103,5 @@ D("emgauwa.app", REG_OVH, DnsProvider(DSP_OVH),
D("reitanlage-oranienburg.de", REG_OVH, DnsProvider(DSP_OVH),
all_defaults("reitanlage-oranienburg.de", false),
verify_amazon_ses(dkim_ses["reitanlage-oranienburg.de"]),
TXT("default._bimi", "v=BIMI1; l=https://www.reitanlage-oranienburg.de/user/themes/reitanlage-oranienburg/images/bimi.svg")
);