RQE Docs
Guías

Adjuntos

Enviar archivos vía URL o base64.

La API de ReallyQuickEmails permite enviar correos con archivos adjuntos usando el endpoint POST /send-email. Los adjuntos se especifican en el campo attachments del cuerpo de la solicitud.

Estructura del adjunto

Cada elemento del arreglo attachments acepta los siguientes campos:

CampoTipoRequeridoDescripcion
filenamestringSiNombre del archivo con extension (ej. "factura.pdf").
urlstringCondicionalURL publica del archivo. Requerido si no se usa content.
contentstringCondicionalContenido del archivo codificado en base64. Requerido si no se usa url.
contentTypestringNoTipo MIME del archivo. Se auto-detecta a partir del filename si no se especifica.

Cada adjunto debe incluir filename y exactamente uno de url o content.

Tipos permitidos

Solo se permiten los siguientes tipos MIME:

  • application/pdf
  • text/calendar

Si el tipo MIME del archivo no coincide con uno de estos, la API retorna un error.

Limites

LimiteValor
Cantidad maxima de adjuntos10 por correo
Tamano maximo por archivo10 MB
Tamano maximo total10 MB

Adjuntos por URL

Cuando se usa el campo url, el servidor descarga el archivo antes de enviarlo. Se aplican las siguientes medidas de seguridad:

  • Proteccion SSRF: Las URLs que apuntan a direcciones IP privadas o reservadas son bloqueadas.
  • Timeout: La descarga esta sujeta a un tiempo limite. Si el servidor remoto no responde a tiempo, la solicitud falla.

Adjuntos por base64

Cuando se usa el campo content, el valor debe ser el contenido del archivo codificado en base64 sin prefijos (sin data:...;base64,). Solo el string base64 crudo.

Ejemplos

Adjunto por URL

curl -X POST https://api.reallyquickemails.com/send-email \
  -H "Content-Type: application/json" \
  -H "x-project-id: proj_abc123" \
  -d '{
    "recipient": "cliente@ejemplo.com",
    "sender": "ventas@mitienda.com",
    "senderName": "Mi Tienda",
    "subject": "Tu factura de octubre",
    "templateId": "factura-mensual",
    "attachments": [
      {
        "filename": "factura-octubre-2025.pdf",
        "url": "https://storage.ejemplo.com/facturas/factura-octubre-2025.pdf"
      }
    ]
  }'

Respuesta:

{
  "success": true,
  "messageId": "0102018e-abcd-1234-5678-9abcdef01234",
  "activityId": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
  "message": "Email sent successfully",
  "attachments_sent": 1
}

Adjunto por base64

curl -X POST https://api.reallyquickemails.com/send-email \
  -H "Content-Type: application/json" \
  -H "x-project-id: proj_abc123" \
  -d '{
    "recipient": "cliente@ejemplo.com",
    "sender": "ventas@mitienda.com",
    "senderName": "Mi Tienda",
    "subject": "Invitacion a reunion",
    "html": "<p>Te invitamos a una reunion de equipo.</p>",
    "attachments": [
      {
        "filename": "reunion.ics",
        "content": "QkVHSU46VkNBTEVOREFSClZFUlNJT046Mi4wCkJFR0lOOlZFVkVOVApEVFNUQVJUOjIwMjUxMDE2VDE1MDAwMFoKRFRFTkQ6MjAyNTEwMTZUMTYwMDAwWgpTVU1NQVJZOlJldW5pb24gZGUgZXF1aXBvCkVORDpWRVZFTlQKRU5EOlZDQUxFTkRBUg==",
        "contentType": "text/calendar"
      }
    ]
  }'

Respuesta:

{
  "success": true,
  "messageId": "0102018e-efgh-5678-9012-3456abcdef78",
  "activityId": "e5f6a7b8-c9d0-1234-ef56-7890abcdef01",
  "message": "Email sent successfully",
  "attachments_sent": 1
}

Multiples adjuntos

curl -X POST https://api.reallyquickemails.com/send-email \
  -H "Content-Type: application/json" \
  -H "x-project-id: proj_abc123" \
  -d '{
    "recipient": "cliente@ejemplo.com",
    "sender": "ventas@mitienda.com",
    "senderName": "Mi Tienda",
    "subject": "Documentos del proyecto",
    "templateId": "documentos-proyecto",
    "attachments": [
      {
        "filename": "contrato.pdf",
        "url": "https://storage.ejemplo.com/docs/contrato.pdf"
      },
      {
        "filename": "agenda.ics",
        "content": "QkVHSU46VkNBTEVOREFSClZFUlNJT046Mi4wCkVORDpWQ0FMRU5EQVI=",
        "contentType": "text/calendar"
      }
    ]
  }'

Respuesta:

{
  "success": true,
  "messageId": "0102018e-ijkl-9012-3456-7890abcdef12",
  "activityId": "f6a7b8c9-d0e1-2345-f678-90abcdef0123",
  "message": "Email sent successfully",
  "attachments_sent": 2
}

On this page