Enviar correo

El endpoint para enviar correos electrónicos es:

POST /api/mail/v1/:domain/messages

El parámetro :domain en la URL debe coincidir con el dominio asociado a tu API key (por ejemplo, miempresa.com).

Autenticación

Debes incluir tu API key en cada petición usando Bearer o Basic Auth.

Formato de la petición

La petición debe enviarse como multipart/form-data.

Campos

CampoRequeridoDescripción
fromSíDirección del remitente. Formato: "Nombre <user@domain.com>" o user@domain.com
toSíDestinatarios, separados por comas
ccNoDestinatarios en copia
bccNoDestinatarios en copia oculta
subjectSíAsunto del correo
textCondicionalCuerpo en texto plano
htmlCondicionalCuerpo en HTML
replyTo o h:Reply-ToNoDirección a la que llegan las respuestas
inReplyTo o h:In-Reply-ToNoHeader In-Reply-To (para responder hilos)
references o h:ReferencesNoHeader References (para hilos)
attachmentsNoArchivos adjuntos (hasta 10, máx. 15 MB total)

Texto o HTML:

Debes incluir al menos uno de: text o html. Puedes enviar ambos; muchos clientes mostrarán HTML y usarán el texto plano como fallback.

Dominio en la URL

El dominio en la URL (:domain) debe coincidir con el dominio del remitente (from). Por ejemplo, si envías desde ventas@miempresa.com, la URL debe ser:

POST https://api.yolani.co/api/mail/v1/miempresa.com/messages

Respuesta exitosa

Cuando el correo se encola correctamente:

HTTP 200

{
  "id": "<message-id>",
  "message": "Queued. Thank you."
}

El campo id contiene el identificador del mensaje en el sistema.

Ejemplo mínimo (texto plano)

curl -X POST "https://api.yolani.co/api/mail/v1/miempresa.com/messages" \
  -H "Authorization: Bearer yk-tu-api-key" \
  -F "from=ventas@miempresa.com" \
  -F "to=cliente@ejemplo.com" \
  -F "subject=Confirmación de pedido" \
  -F "text=Gracias por tu compra. Tu pedido ha sido recibido."

Ejemplo con HTML y adjuntos

curl -X POST "https://api.yolani.co/api/mail/v1/miempresa.com/messages" \
  -H "Authorization: Bearer yk-tu-api-key" \
  -F "from=Nombre <ventas@miempresa.com>" \
  -F "to=cliente@ejemplo.com" \
  -F "subject=Factura adjunta" \
  -F "html=<h1>Factura</h1><p>Adjunto encontrará su factura.</p>" \
  -F "attachments=@/ruta/factura.pdf"

Límites de adjuntos

  • Máximo 10 archivos por mensaje
  • Máximo 15 MB en total para todos los adjuntos
  • Formatos comunes: PDF, imágenes, documentos Office, etc.