Guía práctica
Cabeceras y metadatos
Añade cabeceras de email personalizadas y List-Unsubscribe a los envíos por API, consulta qué cabeceras añade o reescribe Emailit y adjunta metadatos que vuelven en los webhooks.
Esta página trata dos formas de añadir tu propia información a un email enviado con la API de email: headers, que pasan a formar parte del mensaje que recibe el destinatario, y meta, que Emailit guarda con el email y devuelve en la API y en los webhooks. También lista las cabeceras que Emailit añade, reescribe o elimina.
Añadir cabeceras personalizadas
Pasa headers como un objeto con nombres de cabecera y valores de tipo cadena:
{
"from": "Acme <orders@acme.com>",
"to": "ada@example.com",
"subject": "Receipt for order 1042",
"text": "Thanks for your order.",
"headers": {
"X-Entity-Ref-ID": "order-1042",
"X-Acme-Account": "881"
}
}- Para From, To, Cc, Bcc, Reply-To y Subject, usa los campos de la petición, no
headers. - No definas cabeceras cuyo nombre empiece por
X-Emailit-. Emailit las usa internamente. Por ejemplo, un mensaje que ya contieneX-Emailit-IDse trata como procesado y se salta la reescritura de cabeceras y la firma DKIM de Emailit. - Las cabeceras que define el propio Emailit, como
Message-IDyDate, se sustituyen aunque las envíes. Consulta la sección siguiente.
Cabeceras que Emailit añade o cambia
| Cabecera | Qué hace Emailit |
|---|---|
Message-ID |
La fija en <token@your-domain>, el mismo valor que message_id en la respuesta del envío. Si proporcionas un Message-ID, se sustituye. |
Date |
La fija cuando Emailit procesa el mensaje por primera vez para la entrega. |
Subject |
Escribe el asunto final y codifica los caracteres no ASCII. |
Return-Path |
Fija una dirección de rebote en tu subdominio del return-path, emailit.<your-domain>, para que los rebotes vuelvan a Emailit y SPF se alinee. |
DKIM-Signature |
Firma el mensaje con la clave DKIM de tu dominio. Se puede añadir una segunda firma para emailitmail.com para los feedback loops de quejas. |
Received |
Añade cabeceras de traza para la API y el servidor de correo de Emailit. |
X-Emailit-ID |
Añade el token del email. |
Feedback-ID |
Añade un identificador que los proveedores de correo usan en los informes de quejas. |
X-Emailit-Meta |
Añade tus valores de meta, codificados en base64, cuando envías meta. |
X-Emailit-Tracking |
Añade los ajustes solicitados cuando activas el seguimiento con tracking. |
Bcc |
La elimina, para que los destinatarios en CCO sigan ocultos. |
Reply-To |
La elimina cuando indica la misma dirección que From. |
Content-Disposition |
La elimina del nivel superior del mensaje. Las partes de los adjuntos conservan la suya. |
El SMTP relay aplica la misma reescritura a los mensajes que envías por SMTP.
Añadir List-Unsubscribe al correo masivo
Los proveedores de correo como Gmail y Yahoo esperan una opción de baja con un clic en el correo promocional y en el resto del correo masivo. Las campañas la añaden automáticamente. En las newsletters o los resúmenes que envías con la API, añade tú las dos cabeceras:
{
"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>, <mailto:unsubscribe@acme.com?subject=unsubscribe-881>",
"List-Unsubscribe-Post": "List-Unsubscribe=One-Click"
}
}- La URL
httpsdebe aceptar una peticiónPOSTcon el cuerpoList-Unsubscribe=One-Clicky dar de baja a la persona sin pedirle confirmación (RFC 8058). - Haz que cada URL sea específica del destinatario, para que tu endpoint sepa a quién dar de baja.
- Emailit incluye
List-UnsubscribeyList-Unsubscribe-Posten la firma DKIM, algo que los proveedores exigen para la baja con un clic.
Para los demás requisitos, consulta ¿Cómo cumplo los requisitos de Gmail y Yahoo para remitentes masivos?.
Cuando alguien se da de baja, deja de enviarle correo. Puedes añadirlo a tu lista de direcciones bloqueadas para que Emailit bloquee los envíos futuros.
Adjuntar metadatos
meta es un objeto con claves y valores de tipo cadena que Emailit guarda con cada email. Úsalo para vincular un email a los registros de tu propio sistema.
{
"from": "Acme <orders@acme.com>",
"to": "ada@example.com",
"subject": "Receipt for order 1042",
"text": "Thanks for your order.",
"meta": {
"order_id": "1042",
"customer_id": "cus_881",
"kind": "receipt"
}
}Convierte los números y los booleanos en cadenas antes de enviarlos. Emailit devuelve meta:
- En Obtener un email, Obtener los metadatos y Listar emails.
- En los eventos de webhook del email: en
data.object.metaparaemail.accepted,email.scheduled,email.canceledy los eventos de entrega, y endata.object.email.metaparaemail.loadedyemail.clicked.
Un evento de entrega con metadatos tiene este aspecto (abreviado):
[
{
"type": "email.delivered",
"data": {
"object": {
"id": "em_33VtK8mRq1xZp7LwN4cY2bHsDfa",
"object": "email",
"to": "ada@example.com",
"subject": "Receipt for order 1042",
"status": "delivered",
"meta": { "order_id": "1042", "customer_id": "cus_881", "kind": "receipt" }
}
}
}
]Reintentar un email conserva sus metadatos. Reenviarlo crea un email nuevo sin ellos.
Encontrar emails más tarde
No puedes buscar ni filtrar emails por meta. Para volver a encontrar un email:
- Guarda los ID. Guarda el
id, o el mapaidssi hay varios destinatarios, junto a tu propio registro, y busca el email con Obtener un email. - Filtra la lista. Listar emails filtra por
to,from,subject,status,created_at,updated_at,spam_score,api_key_idysending_domain_id. Consulta Filtrado. - Usa claves de API separadas. Da a cada aplicación o función su propia clave de API, y después filtra por
api_key_id, o por API key en Email APIEmails. - Asocia los eventos de webhook. Lee
metaen cada evento para dirigirlo al registro correcto en cuanto llega.