Riferimento
Header e risposte SMTP
Quali header Emailit aggiunge, riscrive o rimuove nella posta SMTP, come leggere gli ID delle email dalla risposta 250 e come aggiungere tu List-Unsubscribe.
Emailit inoltra il messaggio MIME che invii via SMTP in gran parte così com’è, ma modifica alcuni header perché il messaggio superi l’autenticazione e possa essere tracciato. Questa pagina elenca queste modifiche, spiega la risposta 250 che contiene i nuovi ID delle email e descrive gli header che devi aggiungere tu.
Header che Emailit aggiunge o riscrive
| Header | Cosa fa Emailit |
|---|---|
Received |
Aggiunge gli header di tracciamento del percorso per il relay e per il server di posta di Emailit che consegna il messaggio. |
Message-ID |
Sostituisce il tuo con <token@your-domain>, dove il dominio è quello dell’indirizzo From. La copia di ogni destinatario riceve un proprio Message-ID. |
Date |
Lo imposta quando Emailit elabora il messaggio per la prima volta per la consegna. |
Subject |
Lo riscrive a partire dall’oggetto decodificato e ricodifica i caratteri non ASCII. |
Return-Path |
Imposta un indirizzo per i bounce sul sottodominio del return path, emailit.<your-domain>. Lo stesso indirizzo viene usato come mittente della busta, quindi SPF viene superato per il tuo dominio. |
X-Emailit-ID |
Aggiunge il token dell’email. |
Feedback-ID |
Aggiunge un identificatore che i provider di posta usano nei report sulle segnalazioni. |
DKIM-Signature |
Firma il messaggio con la chiave DKIM del tuo dominio (selettore emailit per impostazione predefinita). Può essere aggiunta una seconda firma per emailitmail.com per i feedback loop delle segnalazioni. |
La firma DKIM copre, tra gli altri, gli header From, To, Cc, Subject, Date, Message-ID, Reply-To, gli header MIME e gli header List-*. Non modificare un messaggio dopo che Emailit lo ha firmato, ad esempio con una mailing list che riscrive l’oggetto, altrimenti la firma non è più valida.
Header che Emailit rimuove
| Header | Quando |
|---|---|
Bcc |
Sempre, così i destinatari in Bcc restano nascosti. |
Reply-To |
Quando indica lo stesso indirizzo di From. Alcuni filtri antispam penalizzano un Reply-To ridondante. |
Content-Disposition |
Al livello principale del messaggio. Le parti degli allegati mantengono il proprio. |
Tutto il resto, compresi i tuoi header X-, viene consegnato senza modifiche.
Gli header di controllo non vengono letti via SMTP
Non includere un header X-Emailit-ID nei messaggi che invii. Emailit lo usa per riconoscere i messaggi che ha già elaborato, e un messaggio che lo contiene salta la riscrittura degli header e la firma DKIM descritte sopra.
La risposta 250
Quando il relay accetta un messaggio, la sua risposta alla fine di DATA elenca gli ID delle email di Emailit che ha creato, uno per destinatario:
250 2.0.0 OK: queued as em_33VtK8mRq1xZp7LwN4cY2bHsDfa, em_33VtK8nB5rTq0YxW3mJk9PdLsUe2.0.0è il codice di stato esteso per il successo.- Ogni ID
em_è lo stesso ID che l’API, il pannello e i webhook usano per l’email di quel destinatario. - La riga di risposta ha un limite di lunghezza. Se non ci stanno tutti gli ID, cosa che succede intorno ai 15 destinatari, la risposta contiene solo il primo ID. Trova gli altri in Email APIEmails o negli eventi dei webhook.
La maggior parte delle librerie espone la risposta. In Nodemailer è info.response. In PHPMailer, chiama $mail->getSMTPInstance()->getLastReply() dopo send(). Salva l’ID accanto al tuo record, così puoi abbinare gli eventi dei webhook o cercare l’email in seguito con Recupera un’email.
Aggiungi tu List-Unsubscribe
Emailit aggiunge gli header List-Unsubscribe solo alle email delle campagne. Se invii newsletter o altra posta massiva via SMTP, aggiungi tu entrambi gli header al messaggio:
List-Unsubscribe: <https://acme.com/unsubscribe?u=881&l=digest>, <mailto:unsubscribe@acme.com?subject=unsubscribe-881>
List-Unsubscribe-Post: List-Unsubscribe=One-ClickL’URL https deve accettare una POST con il corpo List-Unsubscribe=One-Click e disiscrivere la persona senza passaggi di conferma (RFC 8058). Emailit include entrambi gli header nella firma DKIM, come richiedono Gmail e Yahoo per la disiscrizione con un clic.
await transporter.sendMail({
from: 'Acme <news@acme.com>',
to: 'ada@example.com',
subject: 'Acme weekly digest',
html: '<p>This week at Acme…</p>',
headers: {
'List-Unsubscribe': '<https://acme.com/unsubscribe?u=881&l=digest>',
'List-Unsubscribe-Post': 'List-Unsubscribe=One-Click',
},
});msg["List-Unsubscribe"] = "<https://acme.com/unsubscribe?u=881&l=digest>"
msg["List-Unsubscribe-Post"] = "List-Unsubscribe=One-Click"$mail->addCustomHeader('List-Unsubscribe', '<https://acme.com/unsubscribe?u=881&l=digest>');
$mail->addCustomHeader('List-Unsubscribe-Post', 'List-Unsubscribe=One-Click');Vedi anche
- Impostazioni SMTP
- Header e metadati per gli invii con l’API
- Dizionario degli header email
- Tracciamento di aperture e clic