Postfix
Siehe auch
Begriffe:
postfix/smtpd
- Dies ist der SMTP Daemon, der eingehende Mails bearbeitet und im Postfix intern an die entsprechenden Stellen weiterleitet.postfix/smtp
- Dies ist der SMTP Daemon, für die Auslieferung von Mails ins Internet.
TLS
TLS kann seitens Postfix auch im „Wrapper“-Modus angeboten werden, bei dem immer TLS verwendet wird, anstatt STARTTLS-Unterstützung anzukündigen (und anschliessend darauf wartend, dass SMTP-Clients den TLS-Dienst anfordern). Einige alte Clients, insbesondere Outlook [Express], bevorzugen den „Wrapper“-Modus. Falls man unbedingt diesen Dienst unterstützen möchte, aktiviert man einen speziellen Port in der master.cf
und gibt -o smtpd_tls_wrappermode=yes
(Achtung: kein Leerzeichen um das „=“) als smtpd-Kommandozeilenoption an. Früher wurde Port 465 (smtps) für diese Funktion gewählt.
Besser ist natürlich, Port 587 (SMTP über STARTTLS) zu nutzen. Mit dieser Konfiguration kündigt Postfix STARTTLS-Unterstützung für SMTP-Clients an, verlangt aber nicht, dass die Clients auch TLS-Verschlüsselung verwenden:
smtpd_tls_security_level = may
smtp_tls_loglevel = 1
smtpd_tls_cert_file = /etc/pki/tls/certs/example.com.pem
smtpd_tls_key_file = /etc/pki/tls/private/example.com.key
DKIM
Sollen ausgehende Mails mit DKIM signiert werden, empfiehlt sich die Verwendung von OpenDKIM.
dnf install opendkim
Ein Keypair kann wir folgt generiert werden:
dnf install opendkim-tools
domain=example.com
mkdir /etc/opendkim/keys/$domain
/usr/sbin/opendkim-genkey -D /etc/opendkim/keys/$domain/ -d $domain -s default
chown -R root:opendkim /etc/opendkim/keys/$domain
chmod 640 /etc/opendkim/keys/$domain/default.private
chmod 644 /etc/opendkim/keys/$domain/default.txt
# test key and config
opendkim-testkey -vvvvv
# ...
# opendkim-testkey: key OK
/etc/opendkim/keys/$domain/default.txt
beinhaltet den Public Key, dieser muss als TXT DNS Record veröffentlicht werden.
Im Config File /etc/opendkim.conf
sollten folgende Werte angepasst bzw gesetzt werden:
## Selects operating modes. Valid modes are s (sign) and v (verify). Default is v.
## Must be changed to s (sign only) or sv (sign and verify) in order to sign outgoing
## messages.
Mode s
## Attempt to become the specified user before starting operations.
UserID opendkim:opendkim
## Create a socket through which your MTA can communicate.
Socket inet:8891@localhost
## Domain(s) whose mail should be signed by this filter. Mail from other domains will
## be verified rather than being signed. Uncomment and use your domain name.
## This parameter is not required if a SigningTable is in use.
Domain example.com
## Gives the location of a private key to be used for signing ALL messages. This
## directive is ignored if KeyTable is enabled.
KeyFile /etc/opendkim/keys/example.com/default.private
## Identifies a set "internal" hosts whose mail should be signed rather than verified.
InternalHosts refile:/etc/opendkim/TrustedHosts
In /etc/opendkim/TrustedHosts
müssen alle Hosts eingetragen werden, deren Mails signiert werden sollen. Normalerweise ist dies localhost.
127.0.0.1
::1
OpenDKIM muss bei Postfix als Milter eingetragen werden, damit alle Mails über OpenDKIM verschickt werden:
# DKIM
smtpd_milters = inet:localhost:8891
non_smtpd_milters = $smtpd_milters
Und am Ende muss der Service gestartet und Postfix neugestartet werden:
systemctl enable --now opendkim.service
systemctl restart postfix.service
Check-Tools
MTA ganz allgemein (SPF, DKIM, DMARC,Spammyness)
leeres Mail an check-auth@verifier.port25.com senden
nur SPF und DKIM Keys:
http://www.mail-tester.com/spf-dkim-check (der „DKIM Selector“ ist der Key-Name im DNS, z.B.
dkim
beim TXT-Recorddkim._domainkey
)
Ist der Mail-Server blacklisted?
Microsoft Hotmail
Mails an
hotmail.com
live.com
outlook.com
msn.com
werden geblockt?
Logs prüfen:
grep -E '(protection.outlook.com|http://mail.live.com/mail/troubleshooting.aspx|block list' /var/log/maillog
Falls geblockt: Hotmail Blacklist Removal Form ausfüllen.
Falls Mail im Spam landen: SPF, DMARC und DKIM prüfen. Mailserver-Konfiguration durch Senden eines leeren Mails an check-auth@verifier.port25.com und mit Hilfe von http://www.mail-tester.com prüfen.
Diese Policies sind beim Senden an Microsoft-Domains einzuhalten: https://sendersupport.olc.protection.outlook.com/pm/policies.aspx
Mail-Queue
Mails hängen in der Queue? So sieht man, welche (und erhält auch deren ID):
mailq
Wie lauten die Mail-IDs?
postqueue -p
Was steht in den Mails?
postcat -q <ID>
Queue erneut abarbeiten lassen: flush the queue
postqueue -f
Alle Mails aus der Queue entfernen:
postsuper -d ALL
Built on 2025-01-06