# *** [ Ansible managed: DO NOT EDIT DIRECTLY ] ***

# ---
# - Header Checks - /etc/postfix/header_checks
# ---
#
#     Ziel: offensichtlich kaputte RFC-Header ablehnen (wenig False Positives)

########################################
# A) Kaputter From:-Header
########################################

# 1) From: ist leer
/^From:\s*$/                           REJECT Invalid From header (empty) - Spamschutzregel FROM-1001

# 2) Mehr als ein '@' im From:-Header -> syntaktisch kaputt
#/^From:.*@.*@/                         REJECT Invalid From header (multiple @) - Spamschutzregel FROM-1002


# 3) Mehrere Mailboxen durch Komma getrennt (wie: Die@..., Lions@..., ...)
#    (Legitime Fälle nutzen i.d.R. Display-Namen/Group-Syntax; dieses Muster ist in Spam sehr häufig)
/^From:\s*[^<>,]+@[^,]+,\s*[^<>,]+@/   REJECT Invalid From header (multiple mailboxes) - Spamschutzregel FROM-1003

# 4) Typische kaputte UTF-8-Fragmente
/^From:.*\xC3\xA2/                     REJECT Invalid UTF-8 in From header - Spamschutzregel FROM-1004


########################################
# B) Optional: sehr spezifische lokale Blacklist
########################################

#/^Reply-To: .+\@inx1and1\..+/         REJECT Possible spam (local pattern)


########################################
# C) Warn
########################################

# Date-Rejects sind oft zu aggressiv -> wenn nötig: lieber taggen oder loggen statt reject
/^Date: .* 19[0-9][0-9]/               WARN Date far in the past Header-Spamschutzregel DATE-1001
/^Date: .* 200[0-9]/                   WARN Date far in the past Header-Spamschutzregel DATE-1002
/^Date: .* 201[0-9]/                   WARN Date far in the past Header-Spamschutzregel DATE-1003



########################################
# Bemerkungen
########################################

# (envelope-from <>) nicht pauschal rejecten:
# echte DSNs/Bounces haben legitimerweise MAIL FROM: <>
#/\(envelope-from <>\)/                REJECT Null envelope-from
