Beim Versuch der Kontaktaufnahme mit einer Adresse bei live.com bekam ich die Fehlermeldung

550 5.7.1 Unfortunately, messages from [x.x.x.x] weren't sent. Please contact your Internet service provider since part of their network is on our block list (S3150). You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors.

Über das Kontaktformular für live.com und das Kontaktformular für outlook.com habe ich die Freigabe meines Mailservers angefragt. Auf beide Anfragen habe ich jedoch die Auskunft bekommen, dass meine Adresse auf keiner Sperrliste steht.

Tests für die Serverkonfiguration

Microsoft bietet einen Remote Connectivity Analyzer, mit dem man seinen Server auf die korrekte Konfiguration aus Sicht Microsofts prüfen kann. Es gibt einen Test für E-Mails an Microsoft »Ausgehende SMTP-E-Mail« und einen Test für E-Mails von Microsoft »Eingehende SMTP-E-Mail«.

Bei Geekflare gibt es noch eine Liste mit 14 Programmen zum Prüfen von SMTP-Servern.

SPF

Eine Möglichkeit anderen Mailservern mitzuteilen, welche Server E-Mails für eine bestimmte Domain versenden dürfen, ist ein SPF-Eintrag für die Domain im DNS. Anhand dieses Eintrags können Server den Missbrauch der Domain durch Spammer erkennen und unterbinden.

Ich zum Beispiel erlaube nur das Versenden von zwei Systemen aus. Wenn E-Mails mit meiner Domain von einer anderen Adresse kommen, sollen diese abgewiesen werden.

% host -t TXT jo-so.de
jo-so.de descriptive text "v=spf1 mx a:s1.jo-so.de a:uucp.gnuu.de -all"

Adressen für Exim festlegen

Wenn auf dem Mail-System mehr als eine IP-Adresse eingetragen ist, muss man Exim sagen, welche IP-Adresse Exim für den ausgehenden E-Mailverkehr verwenden soll. Bei Debian erfolgt dies in der Datei /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp mit dem Eintrag interface:

remote_smtp:
  debug_print = "T: remote_smtp for $local_part@$domain"
  driver = smtp
  interface = <+ 37.221.195.157 + 2a03:4000:8:213::1

Im Anschluss die Hauptkonfigurationsdatei für Exim neu erzeugt werden: update-exim4.conf.

DMARC

Bei der Suche nach einer Lösung für den Kontakt mit Microsoft bin ich auf das DMARC gestoßen. Die Einrichtung war auch sehr leicht, da es sich nur um zwei DNS-Einträge handelt:

% host -t TXT _dmarc.jo-so.de
_dmarc.jo-so.de descriptive text "v=DMARC1; p=reject; sp=reject; pct=100; ↩
  rua=mailto:dmarc-sum@example.org; ruf=mailto:dmarc-full@example.org; adkim=s; aspf=s"

% host -t TXT jo-so.de._report._dmarc.jo-so.de
jo-so.de._report._dmarc.jo-so.de descriptive text "v=DMARC1"

Der zweite Eintrag ist notwendig, um der Gegenstelle zu signalisieren, dass die mailto-Einträge im ersten Eintrag gültig sind, und verhindert, dass ungewollt Domains mit E-Mails überschüttet werden. In Kombination mit SPF ist dies ein guter Schutz, der den Missbrauch der eigenen Domain durch Spamer erschwert.

Weiteres