Bounce-Adresse

E-Mail & Sicherheit
Die Rücksendeadresse, die für Nicht-Zustellungsberichte (Bounces) verwendet wird, wenn E-Mail nicht zugestellt werden kann.
← Zurück zum Glossar

Was ist eine Bounce-Adresse?

Eine Bounce-Adresse, auch Return-Pfad oder Envelope-Sender genannt, ist die Email-Adresse die Non-Delivery-Reports (NDRs) empfängt wenn Email nicht zugestellt werden kann. Diese Adresse ist separat vom "From" Header sichtbar zum Empfänger und wird ausschließlich für automatisierte Zustellungs-Benachrichtigungen genutzt.

Wie Bounce-Adressen funktionieren

Email-Übertragung nutzt zwei Sätze von Adressen:

Header From (sichtbar zum Empfänger):
From: John Doe <john@example.com>
Envelope From (SMTP-Ebene, genutzt für Bounces):
MAIL FROM: <bounces@example.com>

Wenn Zustellung fehlschlägt, sendet der empfangende Server den Bounce zum Envelope-Sender, nicht zum Header-From.

SMTP-Konversations-Beispiel

Client: MAIL FROM: <bounces@example.com>

Server: 250 OK

Client: RCPT TO: <invalid@recipient.com>

Server: 550 Kein solcher Benutzer hier

Client: QUIT

# Später sendet Server Bounce zu bounces@example.com

Email-Bounce-Typen

Hard Bounces

Permanente Zustellungs-Fehler:

Maßnahme: Entferne Adresse aus Mailing-Liste sofort.

Soft Bounces

Temporäre Fehler:

Maßnahme: Wiederhole Zustellung, entferne nach mehreren Soft-Bounces.

Block Bounces

Zustellbarkeits-Probleme:

Maßnahme: Untersuche Sender-Reputation und Authentifizierung.

Bounce-Adresse-Konfiguration

Setzen Return-Pfad in Email-Headers

PHP (mail function):
$to = "recipient@example.com";

$subject = "Test Email";

$message = "Email-Text";

$headers = "From: sender@example.com\r\n";

$headers .= "Return-Path: bounces@example.com\r\n";

mail($to, $subject, $message, $headers, "-f bounces@example.com");

PHPMailer:
$mail = new PHPMailer();

$mail->From = "sender@example.com";

$mail->Sender = "bounces@example.com"; // Return-Pfad

$mail->addAddress("recipient@example.com");

$mail->Subject = "Test Email";

$mail->send();

Postfix (SMTP):
# /etc/postfix/main.cf

sender_canonical_maps = hash:/etc/postfix/sender_canonical

# /etc/postfix/sender_canonical

@example.com bounces@example.com

# Änderungen anwenden

postmap /etc/postfix/sender_canonical

systemctl reload postfix

Dedizierte Bounce-Handlings-Services

Die meisten Email-Service-Provider bieten Bounce-Verwaltung:

Amazon SES:
{

"Message": {

"Subject": "Test",

"From": "sender@example.com",

"ReturnPath": "bounces@example.com"

}

}

SendGrid:
const msg = {

to: 'recipient@example.com',

from: 'sender@example.com',

replyTo: 'reply@example.com',

return_path: 'bounces@example.com',

subject: 'Test Email',

text: 'Email-Text'

};

Bounce-Adresse-Naming-Konventionen

Subdomain-Ansatz

bounces@example.com           # Allgemeine Bounces

no-reply@example.com # No-Reply-Emails

returns@example.com # Returns/Receipts

Kampagnen-spezifisch

Verfolge Bounces pro Kampagne:

bounces-newsletter@example.com

bounces-campaign-123@example.com

bounces-transaction@example.com

Variable Envelope Return Path (VERP)

Codere Empfänger in Bounce-Adresse:

Senden zu: user@recipient.com

Return-Pfad: bounces+user=recipient.com@example.com

Wenn Bounce bei bounces+* ankommt, parse um fehlgeschlagenen Empfänger zu identifizieren

Verarbeite Bounce-Nachrichten

Automatisierte Bounce-Analyse

Python Beispiel:
import email

from email import policy

def parse_bounce(raw_email):

msg = email.message_from_string(raw_email, policy=policy.default)

# Extrahiere Bounce-Typ

if "550" in msg.get_payload():

return "hard_bounce"

elif "452" in msg.get_payload():

return "soft_bounce"

# Extrahiere fehlgeschlagener Empfänger

for part in msg.walk():

if part.get_content_type() == "message/delivery-status":

# Parse Zustellungs-Status

pass

return bounce_info

# Integriere mit Mailing-Liste um Hard-Bounces zu entfernen

Webhook-basierte Bounce-Handlung

Moderne ESPs bieten Webhooks:

SendGrid Webhook:
POST /bounce-webhook

{

"email": "recipient@example.com",

"event": "bounce",

"reason": "550 5.1.1 Benutzer unbekannt",

"type": "blocked",

"status": "5.0.0"

}

Maßnahme: Aktualisiere Datenbank um Email als Bounced zu markieren.

SPF und Bounce-Adressen

SPF prüft Envelope-Sender (Bounce-Adresse), nicht From-Header:

Nachricht:

From: newsletter@example.com (Header)

Return-Path: bounces@mail-server.com (Envelope)

SPF-Prüfung:

Fragt: mail-server.com TXT-Datensatz ab (nicht example.com)

Muss senden-IP in mail-server.coms SPF beinhalten

Bounce-Domain SPF-Konfiguration

bounces.example.com.    IN    TXT    "v=spf1 include:_spf.sendgrid.net ~all"

Sicherstellen Ihre Bounce-Subdomain hat angemessene SPF-Datensätze für Ihre Sende-Infrastruktur.

Bounce-Adresse Best Practices

Nutze dedizierte Bounce-Adresse

Nutze nie Ihre Primär-Email für Bounces:

# Schlecht

Return-Path: info@example.com

# Gut

Return-Path: bounces@example.com

Überwache Bounce-Raten

Bounce-RateBewertungMaßnahme
< 2%GesundWeiterhin überwachen
2-5%BesorgniserregendAudit Email-Listen-Qualität
5-10%ArmSofortige Listen-Bereinigung nötig
> 10%KritischZustellbarkeit gefährdet

Implementiere Bounce-Verarbeitung

Automatisiere Entfernung von Hard-Bounces:

-- Markiere Emails mit Hard-Bounces

UPDATE mailing_list

SET status = 'bounced', bounce_count = bounce_count + 1

WHERE email IN (SELECT email FROM recent_hard_bounces);

-- Entferne nach 3 Hard-Bounces

DELETE FROM mailing_list

WHERE bounce_count >= 3;

Trenne Transaktions- und Marketing-Bounces

transactional-bounces@example.com  # Bestätigungen, Receipts

marketing-bounces@example.com # Newsletter, Kampagnen

Unterschiedliche Bounce-Raten werden für jede Art erwartet.

Richte Bounce-Verarbeitungs-Automatisierung auf

Cron-Job Beispiel:
#!/bin/bash

# Verarbeite Bounces jede Stunde

# Hole Bounces von IMAP

fetchmail -c /etc/fetchmailrc

# Parse und update Datenbank

/usr/local/bin/process-bounces.py

# Räume verarbeitete Bounces älter als 30 Tage auf

find /var/mail/bounces -mtime +30 -delete

Backscatter und Bounce-Sicherheit

Backscatter-Problem

Wenn Ihr Server Spam akzeptiert und dann bounct, sendet Sie zu gefälschten Adressen:

1. Spammer sendet Email mit gefälschtem From

2. Ihr Server akzeptiert es

3. Ihr Server realisiert es ist Spam/ungültig

4. Ihr Server bounced zu gefälschtem From

5. Unschuldige Partei empfängt Bounce (Backscatter)

Lösung: Lehne bei SMTP-Zeit ab, nicht akzeptieren dann Bounce:
# Postfix: Lehne unbekannte Benutzer bei SMTP-Zeit ab

smtpd_recipient_restrictions = reject_unauth_destination

local_recipient_maps = hash:/etc/postfix/local_recipients

Bounce-Fälschung

Angreifer können Bounce-Nachrichten fälschen um zu:

Validierung:

Häufige Bounce-Szenarien

Szenario 1: Alle Emails Bouncing

Ursache: SPF-Fehler, IP-Blacklist oder Server-Reputation Prüfen: SPF-Datensätze, Sender-IP-Reputation, DMARC-Reports

Szenario 2: Bounces werden nicht empfangen

Ursache: Bounce-Adresse falsch konfiguriert oder existiert nicht Prüfen: MX-Datensätze für Bounce-Domain, Postfach existiert

Szenario 3: Hohe Soft-Bounce-Rate

Ursache: Empfänger-Server überlastet, Rate-Limiting, große Nachrichten Prüfen: Sende-Rate, Nachrichtengröße, Empfänger-Server-Fehler

Szenario 4: Bounce-Loops

Ursache: Bounce-Adresse triggert Auto-Reply, was weiteren Bounce triggert Prüfen: Deaktiviere Auto-Responder auf Bounce-Adressen

Test Bounce-Handlung

Sende Test-Email mit ungültigem Empfänger:
# Test-Bounce zu ungültiger Adresse

swaks --to invalid-user@test-domain.com \

--from bounces@example.com \

--server mx.test-domain.com

# Prüfe ob Bounce bei bounces@example.com ankommt

Verifiziere SPF für Bounce-Domain:
dig bounces.example.com TXT

# Sollte SPF-Datensatz mit autorisierten Sendern zeigen

Ordnungsgemäße Bounce-Adresse-Verwaltung ist kritisch zur Aufrechterhaltung von Sender-Reputation, Listen-Hygiene und Zustellbarkeit.

Setzen Sie dieses Wissen in die Praxis um

Verwenden Sie die DomScan-API, um Domänenverfügbarkeit, Gesundheit und mehr zu prüfen.