Welche E-Mail-Addressen sollte man zum Testen verwenden?

14 September 2017

Manchmal braucht man fiktive E-Mail-Adressen zum Testen. Da bei einem Unit-Test keine Mail den Testrechner verlässt kann man sich dafür recht unbekümmert eine Mailaddresse aussuchen. 1

Besteht aber die Gefahr, das E-Mails das eigene Netzwerk verlassen und damit auch zugestellt werden können, muss man vorsichtig sein. Das gilt auch für die Angabe von Beispielen in der Dokumentation. Einmal zu viel copy & paste und schon ist die E-Mail an den falschen Empfänger versendet.

Leider kann man nicht immer seine eigene E-Mail-Addresse oder weiterer Adressen aus der Firma verwenden.

Welche E-Mail-Adressen bzw. welchen Domain-Part nimmt man für fiktive E-Mail-Adressen zum Testen oder als Beispiel in der Dokumentation? Manche Entwickler verwenden Adressen wie max.mustermann@test.de. Aber das ist falsch.

Warum ist das falsch? Leider ist die Domain test.de bereits registriert und gehört der Stiftung Warentest. Falls eine E-Mail an max.mustermann@test.de doch mal den eigenen Rechner oder das eigene Netz verlässt, spammt man unnötig den Mailserver der Stiftung Warentest zu oder versendet im ungünstigsten Fall Daten an Dritte, die darauf keinen Zugriff haben sollten.

Das Lesen von RFCs verwirrt manchmal, bringt aber oft auch neue Erkenntnisse. In unserem Fall hilft die RFC 2606 "Reserved Top Level Domains" weiter. Dort steht, dass man die 2nd-Level-Domains example.com, example.net und example.org verwenden soll, da diese von der IANA 2 genau dafür reserviert wurden.

Desweiteren findet man dort auch noch folgendes:

Test and experimental software can escape and end up being run against the global operational DNS. Even examples used "only" in documentation can end up being coded and released or cause conflicts due to later real use and the possible acquisition of intellectual property rights in such "example" names.

The reservation of several top level domain names for these purposes will minimize such confusion and conflict.

Diese RFC sollten sich auch alle Entwickler durchlesen, die für die lokale Entwicklung z.B. in ihrer /etc/hosts-Datei .dev oder .foo als Top-Level-Domain verwenden. Beide TLDs3 existieren und wurden von Google registriert. In einer der nächsten Versionen von Chrome wird für diese TLDs zwangsweise https erzwungen. Siehe dazu auch ma.thias.be


  1. Wenn man in der Konfiguration entsprechend vorsichtig ist, hat man die Möglichkeit vom System generierte E-Mails nicht an die Empfänger- sondern eine beliebige Addresse zu senden. Wie das mit Asp.Net funktioniert erkläre ich mal in einem folgenden Post. Wenn ich lokal teste, verwende ich Papercut, einen lokalen SMTP-Server der nur zum Empfangen und Anzeigen der Mails gedacht ist. Alternativ kann man dazu auch SMTP4Dev verwenden.

  2. Internet Assigned Numbers Authority

  3. Top Level Domain