Che cos'è un indirizzo di rimbalzo?
Un indirizzo di rimbalzo, chiamato anche il percorso di ritorno o il mittente di busta, è l'indirizzo e-mail che riceve rapporti non di consegna (NDRs) quando un'email non può essere consegnata. Questo indirizzo è separato dall'indirizzo "Da" visibile ai destinatari ed è utilizzato esclusivamente per le notifiche di consegna automatizzate.
Come funzionano gli indirizzi di rimbalzo
La trasmissione via e-mail utilizza due serie di indirizzi:
Header From (visibile al destinatario):From: John Doe <[email protected]>
Envelope From (livello SMTP, usato per i rimbalzi):
MAIL FROM: <[email protected]>
Quando la consegna fallisce, il server ricevente invia il rimbalzo al mittente della busta, non all'intestazione dall'indirizzo.
Esempio di conversazione SMTP
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]
Tipi di rimbalzo delle email
Rimbalzi permanenti
Fallimenti di consegna permanenti:
- L'utente non esiste. 550 Nessun utente del genere
- Domain non esiste. 550 Domain non trovato
- Rigettato per politica: 550 Spam bloccato
Rimbalzi temporanei
Fallimenti temporanei:
- Mailbox pieno. 452 Memorizzazione del sistema insufficiente
- Server temporaneamente non disponibile: 421 Servizio non disponibile
- Messaggio troppo grande: 552 Dimensione del messaggio supera il limite
Rimbalzi per blocco
Problemi di consegna:
- IP blacklist: 554 Servizio non disponibile; Sender IP bloccato
- Contenuto filtrato come spam: 550 Spam punteggio troppo alto
- Limitare... 450 Troppe e-mail
Configurazione dell'indirizzo di rimbalzo
Impostazione del Return-Path nelle intestazioni email
PHP (funzione di posta):$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
Servizi dedicati alla gestione dei rimbalzi
La maggior parte dei fornitori di servizi e-mail offrono la gestione del rimbalzo:
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'
};
Convenzioni di denominazione degli indirizzi di rimbalzo
Approccio con sottodominio
[email protected] # General bounces
[email protected] # No-reply emails
[email protected] # Returns/receipts
Specifico per la campagna
Rimbalzi per campagna:
[email protected]
Percorso di ritorno dell'envelope variabile (VERP)
Encode destinatario in indirizzo di rimbalzo:
Sending to: [email protected]
Return path: [email protected]
When bounce arrives at bounces+*, parse to identify failed recipient
Elaborazione dei messaggi di rimbalzo
Analisi automatica dei rimbalzi
Python Esempio: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
Gestione dei rimbalzi tramite webhook
Gli ESP moderni forniscono webhooks:
Traduzione:
POST /bounce-webhook
{
"email": "[email protected]",
"event": "bounce",
"reason": "550 5.1.1 User unknown",
"type": "blocked",
"status": "5.0.0"
}
Azione... Aggiorna database per contrassegnare e-mail come rimbalzato.
SPF e indirizzi di rimbalzo
SPF controlla il mittente della busta (indirizzo di consegna), non l'intestazione From:
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
Configurazione SPF del dominio di rimbalzo
bounces.example.com. IN TXT "v=spf1 include:_spf.sendgrid.net ~all"
Assicurarsi che il sottodominio di rimbalzo ha i record SPF appropriati per la vostra infrastruttura di invio.
Procedure consigliate per gli indirizzi di rimbalzo
Usa un indirizzo di rimbalzo dedicato
Non usare mai la tua email primaria per i rimbalzi:
# Bad
Return-Path: [email protected]
# Good
Return-Path: [email protected]
Monitora i tassi di rimbalzo
| Tasso di rimbalzo | Valutazione | Azione |
|---|---|---|
| % | Salute | Continua il monitoraggio |
| 2-5% | Per quanto riguarda | Audit qualità dell'elenco email |
| 5-10% | Povero | Pulizia immediata dell'elenco necessaria |
| > 10% | Critica | Liberabilità a rischio |
Implementazione dell'elaborazione dei rimbalzi
Rimozione automatica dei rimbalzi duri:
-- 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;
Separazione dei rimbalzi transazionali e di marketing
[email protected] # Order confirmations, receipts
[email protected] # Newsletters, campaigns
Sono previsti diversi tassi di rimbalzo per ogni tipo.
Impostare l'automazione di elaborazione del rimbalzo
Cron Job Esempio:#!/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 e sicurezza dei rimbalzi
Problema del backscatter
Quando il server accetta lo spam e poi lo rimbalza, stai inviando ad indirizzi forgiati:
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)
Soluzione: Rifiuta al momento SMTP, non accettare e poi rimbalzare:
# Postfix: Reject unknown users at SMTP time
smtpd_recipient_restrictions = reject_unauth_destination
local_recipient_maps = hash:/etc/postfix/local_recipients
Falsificazione degli indirizzi di rimbalzo
Gli aggressori possono falsificare i messaggi di rimbalzo a:
- Harvest indirizzi validi
- Consegnare lo spam mascherato come rimbalzi
- credenziali Phish tramite report di consegna falsi
**Validazione *
- Controllare il rimbalzo originato dal server MX
- Verifica il rimbalzo è per email che hai inviato
- Intestazioni di stato di consegna Parse con attenzione
Scenari comuni di rimbalzo
Scenario 1: Tutte le email rimbalzo
********: guasto SPF, elenco IP o reputazione del server
Check: record SPF, reputazione IP del mittente, rapporti DMARCScenario 2: rimbalzi non ricevuti
Perche'... Indirizzo di rimbalzo mal configurato o non esiste
Check: record MX per il dominio di rimbalzo, casella di posta esisteScenario 3: Alto tasso di rimbalzo morbido
****: server sensibili sovraccaricati, limiti di velocità, messaggi di grandi dimensioni Controllo: Velocità di invio, dimensione del messaggio, errori del server destinatarioScenario 4: cicli di rimbalzo
Perche'... L'indirizzo di rimbalzo innesca l'auto-replica, che innesca un altro rimbalzo
Controllo: Disattivare i risponditori automatici sugli indirizzi di rimbalzoTestare la gestione dei rimbalzi
Invia email di prova con destinatario non valido:# Test bounce to invalid address
swaks --to [email protected] \
--from [email protected] \
--server mx.test-domain.com
# Check if bounce arrives at [email protected]
Verificare SPF per il dominio rimbalzo**:
dig bounces.example.com TXT
# Should show SPF record with authorized senders
La corretta gestione dell'indirizzo di rimbalzo è fondamentale per mantenere la reputazione del mittente, l'igiene della lista e la consegnabilità.