Referência
Cabeçalhos e respostas SMTP
Quais cabeçalhos o Emailit adiciona, reescreve ou remove nos e-mails enviados por SMTP, como ler os IDs dos e-mails na resposta 250 e como adicionar você mesmo o List-Unsubscribe.
O Emailit repassa a mensagem MIME que você envia por SMTP praticamente como ela está, mas altera alguns cabeçalhos para que a mensagem seja autenticada e possa ser rastreada. Esta página lista essas alterações, explica a resposta 250 que traz os novos IDs dos e-mails e apresenta os cabeçalhos que você precisa adicionar por conta própria.
Cabeçalhos que o Emailit adiciona ou reescreve
| Cabeçalho | O que o Emailit faz |
|---|---|
Received |
Adiciona cabeçalhos de rastreamento para o relay e para o servidor de e-mail do Emailit que entrega a mensagem. |
Message-ID |
Substitui o seu por <token@your-domain>, em que o domínio é o do seu endereço From. A cópia de cada destinatário recebe o seu próprio Message-ID. |
Date |
É definido quando o Emailit processa a mensagem para entrega pela primeira vez. |
Subject |
É reescrito a partir do assunto decodificado, e os caracteres não ASCII são codificados de novo. |
Return-Path |
Define um endereço de bounce no seu subdomínio de return path, emailit.<your-domain>. O mesmo endereço é usado como remetente do envelope, então o SPF passa para o seu domínio. |
X-Emailit-ID |
Adiciona o token do e-mail. |
Feedback-ID |
Adiciona um identificador que os provedores de e-mail usam nos relatórios de reclamação. |
DKIM-Signature |
Assina a mensagem com a chave DKIM do seu domínio (seletor emailit por padrão). Uma segunda assinatura para emailitmail.com pode ser adicionada para os feedback loops de reclamação. |
A assinatura DKIM cobre os cabeçalhos From, To, Cc, Subject, Date, Message-ID, Reply-To, MIME e List-*, entre outros. Não altere uma mensagem depois que o Emailit a assinou, por exemplo com uma lista de discussão que reescreve o assunto, ou a assinatura falha.
Cabeçalhos que o Emailit remove
| Cabeçalho | Quando |
|---|---|
Bcc |
Sempre, para que os destinatários em Bcc continuem ocultos. |
Reply-To |
Quando indica o mesmo endereço que From. Alguns filtros de spam penalizam um Reply-To redundante. |
Content-Disposition |
No nível superior da mensagem. As partes de anexo mantêm o delas. |
Todo o resto, incluindo os seus próprios cabeçalhos X-, é entregue sem alterações.
Os cabeçalhos de controle não são lidos pelo SMTP
Não inclua um cabeçalho X-Emailit-ID nas mensagens que você envia. O Emailit o usa para reconhecer as mensagens que já processou, e uma mensagem que tem esse cabeçalho pula a reescrita de cabeçalhos e a assinatura DKIM descritas acima.
A resposta 250
Quando o relay aceita uma mensagem, a resposta dele ao fim do DATA lista os IDs de e-mail do Emailit que foram criados, um por destinatário:
250 2.0.0 OK: queued as em_33VtK8mRq1xZp7LwN4cY2bHsDfa, em_33VtK8nB5rTq0YxW3mJk9PdLsUe2.0.0é o código de status estendido de sucesso.- Cada ID
em_é o mesmo ID que a API, o painel e os webhooks usam para o e-mail daquele destinatário. - A linha de resposta tem um limite de tamanho. Se todos os IDs não couberem, o que acontece a partir de cerca de 15 destinatários, a resposta contém apenas o primeiro ID. Encontre os outros em Email APIEmails ou nos eventos de webhook.
A maioria das bibliotecas expõe a resposta. No Nodemailer, ela fica em info.response. No PHPMailer, chame $mail->getSMTPInstance()->getLastReply() depois de send(). Guarde o ID junto com o seu próprio registro, para associar os eventos de webhook ou consultar o e-mail depois com Obter um e-mail.
Adicionar o List-Unsubscribe você mesmo
O Emailit adiciona os cabeçalhos List-Unsubscribe apenas aos e-mails de campanhas. Se você envia newsletters ou outros e-mails em massa por SMTP, adicione você mesmo os dois cabeçalhos à mensagem:
List-Unsubscribe: <https://acme.com/unsubscribe?u=881&l=digest>, <mailto:unsubscribe@acme.com?subject=unsubscribe-881>
List-Unsubscribe-Post: List-Unsubscribe=One-ClickA URL https precisa aceitar um POST com o corpo List-Unsubscribe=One-Click e descadastrar a pessoa sem uma etapa de confirmação (RFC 8058). O Emailit inclui os dois cabeçalhos na assinatura DKIM, o que o Gmail e o Yahoo exigem para o descadastro em um clique.
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');