Ir a la documentación
API

Enviar por SMTP

El mismo envío que POST /emails, para software que habla SMTP.

Conectar

Todo lo que envía correo a través de un servidor SMTP puede enviar a través de OpenEmail: el mailer de un framework, un CMS, una herramienta de supervisión, una impresora. Inicia sesión con el nombre de usuario openemail y una clave de API como contraseña. La clave necesita el ámbito emails:send, y un mensaje que transmite es el mismo envío que POST /emails hecho con esa clave.

AjusteValor
Hostsmtp.openemail.uk
Puerto465 con SSL/TLS, o 587 con STARTTLS
Nombre de usuarioopenemail
ContraseñaUna clave de API con el ámbito emails:send
Inicio de sesiónPLAIN o LOGIN, que la mayoría del software llama contraseña normal

No se acepta nada sin cifrar, y en el puerto 587 el inicio de sesión solo se abre después de STARTTLS. Una clave de API inicia sesión solo para enviar. Leer un buzón por IMAP o POP3 requiere una contraseña de aplicación.

Enviar un mensaje de prueba

Guarda un mensaje como message.eml y transmítelo con curl. From tiene que ser una dirección con la que la clave pueda enviar.

message.eml
From: Acme <[email protected]>To: [email protected]Subject: Hello over SMTPMessage-ID: <[email protected]> It works.
Puerto 465
curl --url "smtps://smtp.openemail.uk:465" \  --user "openemail:$OPENEMAIL_API_KEY" \  --mail-from "[email protected]" \  --mail-rcpt "[email protected]" \  --upload-file message.eml --crlf
Puerto 587
curl --ssl-reqd --url "smtp://smtp.openemail.uk:587" \  --user "openemail:$OPENEMAIL_API_KEY" \  --mail-from "[email protected]" \  --mail-rcpt "[email protected]" \  --upload-file message.eml --crlf

La respuesta a un mensaje aceptado es 250 2.0.0 OK queued as seguido de su id. Ese id es el que toma GET /emails/{id}, así que el mensaje, sus eventos y su seguimiento se leen como los de cualquier otro envío.

Cómo un mensaje se convierte en un envío

El mensaje se lee y se envía por el mismo camino que un envío REST, así que se reconstruye a partir de sus partes y no se reenvía byte a byte.

En el mensajeEn el envío
Fromfrom. Es obligatorio, y es el remitente con el que se comprueba la clave. La dirección de MAIL FROM solo tiene que estar presente.
RCPT TOA quién se entrega el mensaje, 50 como máximo. Un destinatario nombrado en To es un to, uno nombrado en Cc es un cc, y uno que no aparece en ninguno de los dos es un bcc. Al menos uno tiene que estar en To.
Reply-ToreplyTo, la primera dirección.
Subjectsubject.
Las partes de texto y HTMLtext y html. Una imagen que el HTML usa como cid: se incrusta donde aparece.
Adjuntosattachments: 20 archivos como máximo y 5 MB en total.
Otras cabecerasX-*, List-*, Precedence, Auto-Submitted, Importance, Priority y Feedback-ID se conservan. Cualquier otra cabecera se omite.
X-OpenEmail-Streamstream: transactional o broadcast. La cabecera se quita antes de que salga el mensaje.

Qué se aplica

Todo lo que se le exige a un envío REST se exige aquí, porque es un solo camino.

  • Los ámbitos de la clave, y las direcciones y los dominios a los que está limitada.
  • La comprobación del remitente: From es una dirección de un dominio que puede enviar, y una con la que la clave puede enviar.
  • El cupo de envíos del espacio de trabajo y su lista de supresión.
  • La firma y el seguimiento de aperturas y clics de la dirección desde la que se envía, como en un envío REST que no establece ni signature ni tracking.
  • El carril: mientras el carril de envíos masivos está en pausa, un mensaje con X-OpenEmail-Stream: broadcast se rechaza.
  • Los webhooks y los eventos de entrega, que nombran el mensaje por el id de la respuesta 250.

Reintentos

Un mensaje con un Message-ID se envía una sola vez. Transmitir de nuevo el mismo Message-ID para los mismos destinatarios responde con el id del primer mensaje y no envía nada, así que el software que reintenta tras una conexión cortada no puede enviarlo dos veces. El mismo mensaje para otros destinatarios es otro envío. Ver Idempotencia.

Respuestas y límites

RespuestaCuándo
250 2.0.0El mensaje queda en cola, y a continuación va su id.
535 5.7.8El inicio de sesión falló: una clave incorrecta, revocada o caducada, una clave sin emails:send, o una clave de API con otro nombre de usuario.
452 4.5.3Más de 50 destinatarios en un mensaje. El software de correo envía el resto en otro por sí solo.
552 5.3.4El mensaje supera los 25 MB.
550 5.6.0El mensaje no se puede enviar tal como está escrito: sin From, nadie en To, demasiados adjuntos o adjuntos demasiado grandes, un carril desconocido. El texto dice cuál.
550 5.7.1El envío se rechazó: la clave no puede enviar con esa dirección, el dominio aún no puede enviar, o el carril de envíos masivos está en pausa.
452 4.7.0El cupo de envíos del espacio de trabajo está agotado.
451 4.7.1Más de 300 mensajes de una misma clave en un minuto. El software de correo espera y vuelve a intentarlo.
451 4.3.0Un fallo por nuestra parte. Vuelve a intentarlo en breve.

Una conexión sin nada que enviar se cierra a los cinco minutos. Una misma conexión puede llevar cualquier número de mensajes, uno tras otro.

En el registro de solicitudes

Cada mensaje que transmite una clave es una línea en su registro de solicitudes, con el método SMTP, la ruta /emails y el estado que habría tenido un envío REST: 202 cuando quedó en cola, y 403, 422 o 429 con el mismo code de error cuando se rechazó. GET /keys/{id}/requests?path=/emails los lista junto a los envíos REST. Un inicio de sesión que falla con una clave real aparece en la actividad de esa clave.