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.
| Ajuste | Valor |
|---|---|
| Host | smtp.openemail.uk |
| Puerto | 465 con SSL/TLS, o 587 con STARTTLS |
| Nombre de usuario | openemail |
| Contraseña | Una clave de API con el ámbito emails:send |
| Inicio de sesión | PLAIN 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.
From: Acme <[email protected]>To: [email protected]Subject: Hello over SMTPMessage-ID: <[email protected]> It works.curl --url "smtps://smtp.openemail.uk:465" \ --user "openemail:$OPENEMAIL_API_KEY" \ --mail-from "[email protected]" \ --mail-rcpt "[email protected]" \ --upload-file message.eml --crlfcurl --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 --crlfLa 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 mensaje | En el envío |
|---|---|
| From | from. 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 TO | A 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-To | replyTo, la primera dirección. |
| Subject | subject. |
| Las partes de texto y HTML | text y html. Una imagen que el HTML usa como cid: se incrusta donde aparece. |
| Adjuntos | attachments: 20 archivos como máximo y 5 MB en total. |
| Otras cabeceras | X-*, List-*, Precedence, Auto-Submitted, Importance, Priority y Feedback-ID se conservan. Cualquier otra cabecera se omite. |
| X-OpenEmail-Stream | stream: 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:
Fromes 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
signaturenitracking. - El carril: mientras el carril de envíos masivos está en pausa, un mensaje con
X-OpenEmail-Stream: broadcastse 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
| Respuesta | Cuándo |
|---|---|
| 250 2.0.0 | El mensaje queda en cola, y a continuación va su id. |
| 535 5.7.8 | El 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.3 | Más de 50 destinatarios en un mensaje. El software de correo envía el resto en otro por sí solo. |
| 552 5.3.4 | El mensaje supera los 25 MB. |
| 550 5.6.0 | El 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.1 | El 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.0 | El cupo de envíos del espacio de trabajo está agotado. |
| 451 4.7.1 | Más de 300 mensajes de una misma clave en un minuto. El software de correo espera y vuelve a intentarlo. |
| 451 4.3.0 | Un 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.