This commit is contained in:
Andreas Knuth 2026-03-02 15:43:54 -06:00
parent 8995cede7d
commit 7173da31d4
1 changed files with 8 additions and 3 deletions

View File

@ -212,11 +212,17 @@ echo ""
echo "--- 5. Root Domain SPF ---" echo "--- 5. Root Domain SPF ---"
# Aktuellen SPF-Record lesen # Aktuellen SPF-Record lesen
# Cloudflare liefert TXT-Content manchmal mit Anführungszeichen,
# daher erst alle TXT-Records holen und dann filtern
CURRENT_SPF=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records?type=TXT&name=$DOMAIN_NAME" \ CURRENT_SPF=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records?type=TXT&name=$DOMAIN_NAME" \
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \ -H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
| jq -r '[.result[] | select(.content | startswith("v=spf1"))][0].content // ""') | jq -r '[.result[] | select(.content | gsub("^\"|\"$";"") | startswith("v=spf1"))][0].content // ""')
# Anführungszeichen sofort entfernen
CURRENT_SPF=$(echo "$CURRENT_SPF" | tr -d '"')
if [ -n "$CURRENT_SPF" ]; then if [ -n "$CURRENT_SPF" ]; then
echo " 📋 Aktueller SPF: $CURRENT_SPF"
# Prüfe ob amazonses.com schon drin ist # Prüfe ob amazonses.com schon drin ist
if echo "$CURRENT_SPF" | grep -q "include:amazonses.com"; then if echo "$CURRENT_SPF" | grep -q "include:amazonses.com"; then
echo " 🆗 SPF enthält bereits include:amazonses.com" echo " 🆗 SPF enthält bereits include:amazonses.com"
@ -225,8 +231,7 @@ if [ -n "$CURRENT_SPF" ]; then
NEW_SPF=$(echo "$CURRENT_SPF" | sed 's/v=spf1 /v=spf1 include:amazonses.com /') NEW_SPF=$(echo "$CURRENT_SPF" | sed 's/v=spf1 /v=spf1 include:amazonses.com /')
# ?all → ~all upgraden # ?all → ~all upgraden
NEW_SPF=$(echo "$NEW_SPF" | sed 's/?all/~all/') NEW_SPF=$(echo "$NEW_SPF" | sed 's/?all/~all/')
# Anführungszeichen entfernen falls vorhanden echo " 📝 Neuer SPF: $NEW_SPF"
NEW_SPF=$(echo "$NEW_SPF" | tr -d '"')
ensure_record "TXT" "$DOMAIN_NAME" "$NEW_SPF" false ensure_record "TXT" "$DOMAIN_NAME" "$NEW_SPF" false
fi fi
else else