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 <[email protected]>
Envelope From (SMTP-Ebene, genutzt für Bounces):
MAIL FROM: <[email protected]>

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

SMTP-Konversations-Beispiel

Client: MAIL FROM: <[email protected]>

Server: 250 OK

Client: RCPT TO: <[email protected]>

Server: 550 No such user here

Client: QUIT

# Later, server sends bounce to [email protected]

Email-Bounce-Typen

Harte Bounces

Permanente Zustellungs-Fehler:

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

Weiche Bounces

Temporäre Fehler:

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

Blockierte Bounces

Zustellbarkeits-Probleme:

Maßnahme: Untersuche Sender-Reputation und Authentifizierung.

Bounce-Adresse-Konfiguration

Setzen Return-Pfad in Email-Headers

PHP (mail function):
$to = "[email protected]";

$subject = "Test Email";

$message = "Email body";

$headers = "From: [email protected]\r\n";

$headers .= "Return-Path: [email protected]\r\n";

mail($to, $subject, $message, $headers, "-f [email protected]");

PHPMailer:
$mail = new PHPMailer();

$mail->From = "[email protected]";

$mail->Sender = "[email protected]"; // Return path

$mail->addAddress("[email protected]");

$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 [email protected]

# Apply changes

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": "[email protected]",

"ReturnPath": "[email protected]"

}

}

SendGrid:
const msg = {

to: '[email protected]',

from: '[email protected]',

replyTo: '[email protected]',

return_path: '[email protected]',

subject: 'Test Email',

text: 'Email body'

};

Bounce-Adresse-Naming-Konventionen

Subdomain-Ansatz

[email protected]           # General bounces

[email protected] # No-reply emails

[email protected] # Returns/receipts

Kampagnen-spezifisch

Verfolge Bounces pro Kampagne:

[email protected]

[email protected]

[email protected]

Variabler Envelope Return Path (VERP)

Codere Empfänger in Bounce-Adresse:

Sending to: [email protected]

Return path: [email protected]

When bounce arrives at bounces+*, parse to identify failed recipient

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)

# Extract bounce type

if "550" in msg.get_payload():

return "hard_bounce"

elif "452" in msg.get_payload():

return "soft_bounce"

# Extract failed recipient

for part in msg.walk():

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

# Parse delivery status

pass

return bounce_info

# Integrate with mailing list to remove hard bounces

Webhook-basierte Bounce-Handlung

Moderne ESPs bieten Webhooks:

SendGrid Webhook:
POST /bounce-webhook

{

"email": "[email protected]",

"event": "bounce",

"reason": "550 5.1.1 User unknown",

"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:

Message:

From: [email protected] (header)

Return-Path: [email protected] (envelope)

SPF Check:

Queries: mail-server.com TXT record (not example.com)

Must include sending IP in mail-server.com's SPF

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:

# Bad

Return-Path: [email protected]

# Good

Return-Path: [email protected]

Ü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:

-- Mark emails with hard bounces

UPDATE mailing_list

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

WHERE email IN (SELECT email FROM recent_hard_bounces);

-- Remove after 3 hard bounces

DELETE FROM mailing_list

WHERE bounce_count >= 3;

Trenne Transaktions- und Marketing-Bounces

[email protected]  # Order confirmations, receipts

[email protected] # Newsletters, campaigns

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

Richte Bounce-Verarbeitungs-Automatisierung auf

Cron-Job Beispiel:
#!/bin/bash

# Process bounces every hour

# Fetch bounces from IMAP

fetchmail -c /etc/fetchmailrc

# Parse and update database

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

# Clean up processed bounces older than 30 days

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 sends email with forged From

2. Your server accepts it

3. Your server realizes it's spam/invalid

4. Your server bounces to forged From address

5. Innocent party receives bounce (backscatter)

Lösung: Lehne bei SMTP-Zeit ab, nicht akzeptieren dann Bounce:
# Postfix: Reject unknown users at SMTP time

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 to invalid address

swaks --to [email protected] \

--from [email protected] \

--server mx.test-domain.com

# Check if bounce arrives at [email protected]

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

# Should show SPF record with authorized senders

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.