Bounce-adres

E-mail & Beveiliging
Het retouradres dat wordt gebruikt voor niet-bezorgingsrapporten wanneer e-mail niet kan worden afgeleverd.
← Terug naar Woordenlijst

Wat is een Bounce-adres?

Een bounce adres, ook wel het retour pad of envelop afzender, is het e-mailadres dat niet-levering rapporten (NDR's) ontvangt wanneer een e-mail niet kan worden geleverd. Dit adres is gescheiden van het adres "Vanaf" dat zichtbaar is voor ontvangers en wordt uitsluitend gebruikt voor automatische leveringsmeldingen.

Hoe Bounce adressen werken

E-mailtransmissie maakt gebruik van twee adressen:

Header Van (zichtbaar voor ontvanger):
From: John Doe <john@example.com>
Envelop From (SMTP-niveau, gebruikt voor bounces):
MAIL FROM: <bounces@example.com>

Als de levering mislukt, stuurt de ontvangende server de bounce naar de envelope sender, niet de header van het adres.

SMTP-gespreksvoorbeeld

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

Server: 250 OK

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

Server: 550 No such user here

Client: QUIT

# Later, server sends bounce to bounces@example.com

Soorten e-mails

Hard bounces

Permanente leveringsfouten:

Actie: Adres onmiddellijk uit de mailinglijst verwijderen.

Soft Bounces

Tijdelijke storingen:

Actie: Opnieuw leveren, verwijderen na meerdere zachte bounces.

Block Bounces

Leveringsproblemen:

Actie: Onderzoek de reputatie en authenticatie van de afzender.

Bounce-adresconfiguratie

Terugkeerpad instellen in e-mailkoppen

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

$subject = "Test Email";

$message = "Email body";

$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 path

$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

# Apply changes

postmap /etc/postfix/sender_canonical

systemctl reload postfix

Dedicated Bounce Handling Services

De meeste e-mail service providers bieden bounce management:

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 body'

};

Bounce Adres Naamgevingsverdragen

Subdomeinaanpak

bounces@example.com           # General bounces

no-reply@example.com # No-reply emails

returns@example.com # Returns/receipts

Campagnespecifiek

Track bounces per campagne:

bounces-newsletter@example.com

bounces-campaign-123@example.com

bounces-transaction@example.com

Variable Envelop Return Path (VERP)

Codeer ontvanger in bounce adres:

Sending to: user@recipient.com

Return path: bounces+user=recipient.com@example.com

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

Bezig met verwerken van Bounce-berichten

Geautomatiseerde uitsparing

Python Voorbeeld:
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-based Bounce Handling

Moderne ESP's bieden webhooks:

SendGrid Webhook:
POST /bounce-webhook

{

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

"event": "bounce",

"reason": "550 5.1.1 User unknown",

"type": "blocked",

"status": "5.0.0"

}

Actie: Database bijwerken om e-mail te markeren als geweigerd.

Adressen SPF en Bounce

SPF controleert de envelop afzender (bounce adres), niet de From header:

Message:

From: newsletter@example.com (header)

Return-Path: bounces@mail-server.com (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-configuratie

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

Zorg ervoor dat uw bounce subdomein passende SPF records heeft voor uw verzendende infrastructuur.

Bounce Adres Beste praktijken

Gebruik een specifiek Bounce adres

Gebruik nooit uw primaire e-mail voor bounces:

# Bad

Return-Path: info@example.com

# Good

Return-Path: bounces@example.com

Monitor bounce tarieven

Bounce rateBeoordelingActie
< 2%GezondheidDoorgaan met toezicht
2-5%BetreffendeKwaliteit audit e-maillijst
5-10%SlechtOnmiddellijke schoonmaaklijst nodig
> 10%KritiekBezorgbaarheid tegen risico

Implementeer Bounce Processing

Automatisch verwijderen van harde 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;

Aparte Transactionele en Marketing Bounces

transactional-bounces@example.com  # Order confirmations, receipts

marketing-bounces@example.com # Newsletters, campaigns

Voor elk type worden verschillende bouncetarieven verwacht.

Opstellen van Bounce Processing Automation

Cron Job Voorbeeld:
#!/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 en Bounce Security

Backscatter Probleem

Wanneer uw server spam accepteert en het vervolgens stuitert, stuurt u naar vervalste 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)

Oplossing: Weigeren op SMTP tijd, niet accepteren dan stuiteren:
# Postfix: Reject unknown users at SMTP time

smtpd_recipient_restrictions = reject_unauth_destination

local_recipient_maps = hash:/etc/postfix/local_recipients

Bounce Forgery

Aanvallers kunnen stuiteren berichten naar:

Validatie:

Veelvoorkomende Bounce Scenarios

Scenario 1: Alle e-mails Bouncing

Cause: SPF storing, IP blacklist, of server reputatie Check: SPF records, afzender IP reputatie, DMARC rapporten

Scenario 2: niet ontvangen bounces

Cause: Bounce-adres is onjuist geconfigureerd of bestaat niet Check: MX records voor bounce domein, mailbox bestaat

Scenario 3: High Soft Bounce Rate

Cause: Ontvangerservers overbelast, snelheid beperkend, grote berichten

*Check: Verzendsnelheid, berichtgrootte, ontvangersserverfouten

Scenario 4: Bounce Loops

Cause**: Bounce adres triggers automatisch antwoord, die triggers een andere stuiter

*Check: Auto-responders uitschakelen op bounce-adressen

Testing Bounce Handling

Stuur test e-mail met ongeldige ontvanger:
# Test bounce to invalid address

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

--from bounces@example.com \

--server mx.test-domain.com

# Check if bounce arrives at bounces@example.com

Verify SPF for bounce domain**:
dig bounces.example.com TXT

# Should show SPF record with authorized senders

Goed bounce adresbeheer is van cruciaal belang voor het behoud van de reputatie van de afzender, lijsthygiëne en de leverbaarheid.

Pas Deze Kennis Toe

Gebruik de API van DomScan om domeinbeschikbaarheid, gezondheid en meer te controleren.