Temp Mail
in Python.
Wegwerf-Postfächer für Python, in drei Zeilen mit requests.
import os
import requests
API = "https://evilmail.pro"
headers = {"X-API-Key": os.environ["EVILMAIL_KEY"]}
# Create a disposable inbox that lives for 30 minutes
resp = requests.post(
f"{API}/api/temp-email",
headers={**headers, "Content-Type": "application/json"},
json={"ttlMinutes": 30},
timeout=15,
)
resp.raise_for_status()
data = resp.json()["data"]
print("Inbox:", data["email"])
print("Token:", data["sessionToken"])Erstelle temporäre Mail in Python, wann immer deine Tests, CI-Jobs oder Skripte ein Wegwerf-Postfach brauchen – ohne SMTP-Server, ohne manuelles Klicken. EvilMail bietet dir eine einfache HTTP-API, die du mit der requests-Bibliothek aufrufen kannst, um eine Wegwerfadresse zu erstellen, sie auf eingehende Mails abzufragen und einen Anmeldelink oder ein 6-stelliges OTP herauszuziehen. Sie ist für Entwickler gebaut, die Tests der E-Mail-Verifizierung automatisieren: einen Fake-Nutzer registrieren, auf die Bestätigungs-E-Mail warten, den Code extrahieren und darauf prüfen – alles in einer einzigen Python-Funktion, die lokal genauso läuft wie in deiner Pipeline.
Warum Temp Mail in Python nutzen
End-to-End-Anmeldetests
Registriere ein neues Konto gegen ein echtes temporäres Postfach, warte auf die Willkommens- oder Bestätigungs-E-Mail und prüfe, ob der Ablauf funktioniert. Kein geteiltes Team-Postfach, keine unzuverlässigen manuellen Schritte.
OTP- & 2FA-Automatisierung
Löse ein Login oder ein Passwort-Reset aus, frage das Postfach ab und ziehe den 6-stelligen Code per Regex direkt aus dem Nachrichtentext, damit deine Test-Suite die Challenge unbeaufsichtigt abschließen kann.
CI-Pipelines
Lies den API-Schlüssel aus einer Umgebungsvariable und führe in GitHub Actions, GitLab CI oder Jenkins genau dieselben E-Mail-Prüfungen aus wie auf deinem Laptop.
Scraping & Wegwerf-Registrierungen
Erzeuge pro Durchlauf eine frische Wegwerfadresse, um dich bei Diensten anzumelden, die du nur einmal brauchst, und halte so dein echtes Postfach sauber und frei von Ratenbegrenzungen.
Der Ablauf — Python Temp Mail in 3 Aufrufen
Ein Wegwerf-Postfach erstellen
import os
import requests
API = "https://evilmail.pro"
KEY = os.environ["EVILMAIL_KEY"]
def create_inbox(ttl_minutes=30):
"""Return (email, session_token) for a fresh inbox."""
resp = requests.post(
f"{API}/api/temp-email",
headers={
"X-API-Key": KEY,
"Content-Type": "application/json",
},
json={"ttlMinutes": ttl_minutes},
timeout=15,
)
resp.raise_for_status()
data = resp.json()["data"]
return data["email"], data["sessionToken"]
email, token = create_inbox()
print("Send mail to:", email)Abfragen, bis die E-Mail eintrifft
import time
import requests
def wait_for_message(token, attempts=20, delay=3):
"""Poll the inbox until at least one message shows up."""
for _ in range(attempts):
resp = requests.get(
f"{API}/api/temp-email/{token}",
headers={"X-API-Key": KEY},
timeout=15,
)
resp.raise_for_status()
messages = resp.json()["data"]["messages"]
if messages:
return messages[0] # newest message
time.sleep(delay)
raise TimeoutError("No email arrived in time")
msg = wait_for_message(token)
print("Got:", msg["subject"], "from", msg["from"])Nachricht lesen & Code extrahieren
import re
import requests
def read_message(uid, token):
resp = requests.get(
f"{API}/api/message/{uid}",
headers={"X-API-Key": KEY},
params={"token": token},
timeout=15,
)
resp.raise_for_status()
return resp.json()["data"]
def extract_otp(text):
match = re.search(r"\b(\d{6})\b", text or "")
return match.group(1) if match else None
body = read_message(msg["uid"], token)
otp = extract_otp(body["text"])
print("OTP:", otp)Python Temp Mail — FAQ
Q1Wie bekomme ich in Python eine temporäre Mail-Adresse?−
Sende eine POST-Anfrage an https://evilmail.pro/api/temp-email mit deinem X-API-Key-Header und einem JSON-Body wie {"ttlMinutes": 30}. Die Antwort enthält data.email (die Wegwerfadresse) und data.sessionToken, den du für jeden Folgeaufruf verwendest. Das Hero-Snippet oben macht genau das in etwa einem Dutzend Zeilen mit der requests-Bibliothek.
Q2Kann ich das für automatisierte Tests verwenden?+
Ja – das ist der Hauptanwendungsfall. Lies deinen Schlüssel aus einer Umgebungsvariable, erstelle ein Postfach in einem Test-Fixture, löse die zu testende E-Mail aus, frage dann das Postfach ab und prüfe auf Betreff, Text oder den extrahierten Code. Es funktioniert lokal auf deiner Maschine identisch wie in der CI (GitHub Actions, GitLab, Jenkins), sodass E-Mail-abhängige Abläufe keine unzuverlässigen manuellen Schritte mehr sind.
Q3Wie extrahiere ich das OTP?+
Rufe die Nachricht mit GET /api/message/{uid}?token={sessionToken} ab und lasse eine Regex über data.text (oder data.html) laufen. Ein standardmäßiger 6-stelliger Einmalcode passt auf das Muster \b(\d{6})\b. Das Snippet aus Schritt 3 zeigt den vollständigen Lese- und Extrahier-Helper, der den Code als String zurückgibt.
Q4Brauche ich einen API-Schlüssel, und gibt es Ratenbegrenzungen?+
Jede Anfrage benötigt den X-API-Key-Header, du brauchst also einen Schlüssel aus deinem EvilMail-Dashboard – bewahre ihn in einer Umgebungsvariable (EVILMAIL_KEY) auf, niemals fest im Code. Pro Schlüssel gelten angemessene Ratenbegrenzungen, um Missbrauch zu verhindern; beim Abfragen bleibt das in den Beispielen verwendete 3-Sekunden-Intervall bequem innerhalb davon. Prüfe deinen Tarif für die genauen Kontingente.
Q5Wie lange lebt das Postfach?+
Du steuerst das über den Wert ttlMinutes, den du beim Erstellen des Postfachs übergibst (30 Minuten in den Beispielen). Sobald die TTL abläuft, werden die Adresse und ihre Nachrichten verworfen – erstelle also lieber pro Testlauf oder Aufgabe ein frisches Postfach, statt eines langfristig wiederzuverwenden.
Temp Mail in anderen Sprachen
Ein API-Schlüssel. Wegwerf-Postfächer im großen Stil.
Erstelle unbegrenzt Wegwerf-Adressen, frage sie per HTTP ab und zieh Bestätigungscodes direkt in deine Tests und CI. Kostenlos zum Start; Custom-Domains und höhere Limits in den kostenpflichtigen Tarifen.

