Adres zwrotny

Poczta i bezpieczeństwo
Adres zwrotny używany dla raportów niedostarczenia, gdy wiadomości e-mail nie można dostarczyć.
← Wróć do słownika

Czym jest adres odbicia?

Adres odbicia, nazywany także ścieżką zwrotną lub nadawcą koperty, to adres e-mail otrzymujący powiadomienia o niedostarczeniu (NDR), gdy wiadomości nie można dostarczyć. Adres ten różni się od widocznego dla odbiorców adresu „From” i służy wyłącznie do automatycznych powiadomień o dostarczeniu.

Jak działają adresy odbić

Transmisja poczty e-mail wykorzystuje dwa zestawy adresów:

From w nagłówku (widoczny dla odbiorcy):
From: John Doe <[email protected]>
From w kopercie (na poziomie SMTP, używany do odbić):
MAIL FROM: <[email protected]>

Gdy dostarczenie się nie powiedzie, serwer odbierający wysyła odbicie do nadawcy koperty, a nie na adres From z nagłówka.

Przykład rozmowy 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]

Typy odbić wiadomości e-mail

Odbicia trwałe

Trwałe niepowodzenia dostarczenia:

Działanie: natychmiast usuń adres z listy mailingowej.

Odbicia tymczasowe

Tymczasowe niepowodzenia:

Działanie: ponów dostarczenie, a po wielu odbiciach tymczasowych usuń adres.

Odbicia blokujące

Problemy z dostarczalnością:

Działanie: zbadaj reputację nadawcy i uwierzytelnianie.

Konfiguracja adresu odbicia

Ustawianie ścieżki zwrotnej w nagłówkach poczty

PHP (funkcja mail):
$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

Dedykowane usługi obsługi odbić

Większość dostawców usług pocztowych oferuje zarządzanie odbiciami:

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'

};

Konwencje nazewnictwa adresów odbić

Podejście z subdomeną

[email protected]           # General bounces

[email protected] # No-reply emails

[email protected] # Returns/receipts

Specyficzne dla kampanii

Śledź odbicia osobno dla każdej kampanii:

[email protected]

[email protected]

[email protected]

Zmienna kopertowa ścieżka zwrotna (VERP)

Zakoduj odbiorcę w adresie odbicia:

Sending to: [email protected]

Return path: [email protected]

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

Przetwarzanie wiadomości o odbiciu

Automatyczne analizowanie odbić

Przykład w Pythonie:
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

Obsługa odbić oparta na webhookach

Nowoczesne ESP udostępniają webhooki:

Webhook SendGrid:
POST /bounce-webhook

{

"email": "[email protected]",

"event": "bounce",

"reason": "550 5.1.1 User unknown",

"type": "blocked",

"status": "5.0.0"

}

Działanie: zaktualizuj bazę danych, oznaczając adres e-mail jako odbity.

SPF i adresy odbić

SPF sprawdza nadawcę koperty (adres odbicia), a nie From w nagłówku:

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

Konfiguracja SPF domeny odbić

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

Upewnij się, że subdomena odbić ma odpowiednie rekordy SPF dla używanej infrastruktury wysyłkowej.

Dobre praktyki dotyczące adresów odbić

Używaj dedykowanego adresu odbić

Nigdy nie używaj głównego adresu e-mail do odbić:

# Bad

Return-Path: [email protected]

# Good

Return-Path: [email protected]

Monitoruj odsetek odbić

Odsetek odbićOcenaDziałanie
< 2%ZdrowyKontynuuj monitorowanie
2-5%NiepokojącyZbadaj jakość listy mailingowej
5-10%NiskiNatychmiast wyczyść listę
> 10%KrytycznyZagrożona dostarczalność

Wdróż przetwarzanie odbić

Automatyzuj usuwanie trwałych odbić:

-- 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;

Oddziel odbicia transakcyjne od marketingowych

[email protected]  # Order confirmations, receipts

[email protected] # Newsletters, campaigns

Różne odsetki odbić są oczekiwane dla każdego typu.

Skonfiguruj automatyzację przetwarzania odbić

Przykład zadania Cron:
#!/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 i bezpieczeństwo odbić

Problem backscatter

Gdy serwer przyjmuje spam, a następnie wysyła jego odbicie, wysyłasz wiadomość na sfałszowane adresy:

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)

Rozwiązanie: odrzucaj wiadomość podczas sesji SMTP, zamiast ją przyjąć, a następnie odsyłać:
# Postfix: Reject unknown users at SMTP time

smtpd_recipient_restrictions = reject_unauth_destination

local_recipient_maps = hash:/etc/postfix/local_recipients

Fałszowanie odbić

Atakujący mogą fałszować wiadomości o odbiciu, aby:

Weryfikacja:

Typowe scenariusze odbić

Scenariusz 1: Wszystkie wiadomości odbijają się

Przyczyna: niepowodzenie SPF, adres IP na czarnej liście lub reputacja serwera Sprawdź: rekordy SPF, reputację adresu IP nadawcy i raporty DMARC

Scenariusz 2: Odbicia nie są odbierane

Przyczyna: nieprawidłowo skonfigurowany lub nieistniejący adres odbić Sprawdź: rekordy MX domeny odbić i istnienie skrzynki

Scenariusz 3: Wysoki odsetek odbić tymczasowych

Przyczyna: przeciążone serwery odbiorców, ograniczenie częstotliwości lub duże wiadomości Sprawdź: tempo wysyłki, rozmiar wiadomości i błędy serwera odbiorcy

Scenariusz 4: Pętle odbić

Przyczyna: adres odbić wywołuje automatyczną odpowiedź, która uruchamia kolejne odbicie Sprawdź: wyłącz autorespondery dla adresów odbić

Testowanie obsługi odbić

Wyślij wiadomość testową do nieprawidłowego odbiorcy:
# Test bounce to invalid address

swaks --to [email protected] \

--from [email protected] \

--server mx.test-domain.com

# Check if bounce arrives at [email protected]

Zweryfikuj SPF domeny odbić:
dig bounces.example.com TXT

# Should show SPF record with authorized senders

Prawidłowe zarządzanie adresem odbić ma kluczowe znaczenie dla utrzymania reputacji nadawcy, higieny listy mailingowej i dostarczalności.

Wykorzystaj tę wiedzę w praktyce

Użyj API DomScan, aby sprawdzić dostępność domen, ich kondycję i więcej.