# SMTP relay

> Envía emails desde cualquier aplicación, framework o dispositivo compatible con SMTP. Datos de conexión, cómo aparece en Emailit el correo que pasa por el relay y en qué se diferencia el SMTP de la API.

El SMTP relay de Emailit acepta correo de cualquier cosa capaz de enviar por SMTP, como un CMS, el mailer de un framework, una herramienta de monitorización o un escáner, y lo entrega por el mismo circuito que la [API de email](/es/docs/email-api/). Úsalo cuando cambiar la configuración SMTP sea más fácil que escribir código para la API.

## Cuándo usar SMTP

SMTP encaja bien cuando:

- Tu software solo admite SMTP, como los plugins de WordPress, las herramientas de soporte al cliente y los dispositivos de red.
- Te cambias desde otro proveedor y solo quieres cambiar el host y las credenciales.
- Tu framework ya tiene un mailer SMTP, como Laravel, Django, Rails y Nodemailer.

Elige la API cuando necesites [plantillas](/es/docs/templates/) con variables, envíos programados, metadatos, claves de idempotencia o ajustes de seguimiento por email. Para una comparación completa, consulta [¿API o SMTP?](/es/docs/get-started/api-or-smtp/).

## Cómo funciona

1. Tu aplicación se conecta a `smtp.emailit.com`, cambia la conexión a TLS e inicia sesión con una clave de API.
2. Envía el remitente del sobre, un comando de destinatario por cada destinatario y el mensaje.
3. Emailit comprueba el espacio de trabajo, los límites de velocidad, el tamaño del mensaje y el dominio de la cabecera From, y responde `250 2.0.0 OK: queued as em_…`.
4. Cada destinatario se convierte en un email independiente con su propio ID `em_`. Emailit lo firma con DKIM, ejecuta las comprobaciones de spam, lo entrega y reintenta los fallos temporales, exactamente igual que con el correo de la API.

## Datos de conexión

| Ajuste | Valor |
| --- | --- |
| Host | `smtp.emailit.com` |
| Puerto | `587` con STARTTLS. También `465` (TLS implícito), y `2525` o `2587` (STARTTLS) para las redes que bloquean el 587. |
| Usuario | `emailit` |
| Contraseña | Una [clave de API](/es/docs/developers/api-keys/), que empieza por `secret_` |
| Autenticación | `PLAIN` o `LOGIN` |

La página de cada clave de API en **Email API → API Keys** muestra los mismos datos en su tarjeta **SMTP Info**. [Configuración SMTP](/es/docs/smtp/settings/) cubre todos los puertos, las reglas de la dirección del remitente y los límites.

## Enviar un mensaje de prueba

**cURL**

```bash
cat > message.txt <<'EOF'
From: Acme <hello@acme.com>
To: ada@example.com
Subject: SMTP test from Acme

It works.
EOF

curl --url "smtp://smtp.emailit.com:587" --ssl-reqd --crlf \
  --user "emailit:$EMAILIT_API_KEY" \
  --mail-from hello@acme.com \
  --mail-rcpt ada@example.com \
  --upload-file message.txt -v
```

**Node.js**

```javascript
import nodemailer from 'nodemailer';

const transporter = nodemailer.createTransport({
  host: 'smtp.emailit.com',
  port: 587,
  secure: false, // STARTTLS on 587
  requireTLS: true,
  auth: { user: 'emailit', pass: process.env.EMAILIT_API_KEY },
});

const info = await transporter.sendMail({
  from: 'Acme <hello@acme.com>',
  to: 'ada@example.com',
  subject: 'SMTP test from Acme',
  text: 'It works.',
});

console.log(info.response); // 250 2.0.0 OK: queued as em_…
```

**Python**

```python
import os
import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "Acme <hello@acme.com>"
msg["To"] = "ada@example.com"
msg["Subject"] = "SMTP test from Acme"
msg.set_content("It works.")

with smtplib.SMTP("smtp.emailit.com", 587) as smtp:
    smtp.starttls()
    smtp.login("emailit", os.environ["EMAILIT_API_KEY"])
    smtp.send_message(msg)
```

**PHP**

```php
use PHPMailer\PHPMailer\PHPMailer;

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.emailit.com';
$mail->Port = 587;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->SMTPAuth = true;
$mail->Username = 'emailit';
$mail->Password = getenv('EMAILIT_API_KEY');

$mail->setFrom('hello@acme.com', 'Acme');
$mail->addAddress('ada@example.com');
$mail->Subject = 'SMTP test from Acme';
$mail->Body = 'It works.';
$mail->send();
```

Los espacios de trabajo nuevos están en modo sandbox y solo pueden enviar a las direcciones de email de las cuentas de sus miembros. [Solicita el acceso de producción](/es/docs/workspaces/production-access/) antes de enviar a cualquier otra persona.

## Cómo aparece el correo SMTP en Emailit

- **Un email por destinatario.** Un mensaje con tres destinatarios crea tres emails, cada uno con su propio ID `em_`, su estado y sus eventos.
- **Los ID en la respuesta.** La respuesta `250` que sigue al mensaje enumera los ID nuevos, por ejemplo `250 2.0.0 OK: queued as em_33VtK8mRq1xZp7LwN4cY2bHsDfa`. Son los mismos ID que usan la API, el panel y los webhooks. Consulta [Cabeceras y respuestas SMTP](/es/docs/smtp/headers/#the-250-reply).
- **Lista de emails.** Los emails aparecen en **Email API → Emails**. Filtra por **API key** para ver el correo de una sola aplicación.
- **Registros.** Cada mensaje enviado aparece en **Email API → Logs** con el origen **SMTP** y su código de respuesta, junto con los rechazos por límite de velocidad y los inicios de sesión fallidos. Consulta [Registros de peticiones](/es/docs/logs/request-logs/).
- **Webhooks.** El correo SMTP emite los mismos eventos de entrega e interacción que el correo de la API, salvo `email.accepted`. El primer evento suele ser `email.delivered`.

## En qué se diferencia el SMTP de la API de email

| Función | API de email | SMTP relay |
| --- | --- | --- |
| Plantillas y variables de Temple | Sí | No. El mensaje se envía tal como lo has creado. |
| Envío programado | Sí, con `scheduled_at` | No |
| Metadatos | Sí, con `meta` | No |
| Seguimiento de aperturas y clics | Configuración del dominio, o por email con `tracking` | Solo los ajustes **Track loads** y **Track clicks** del dominio de envío |
| Claves de idempotencia | Sí | No |
| Evento `email.accepted` | Sí | No |
| Destinatarios por mensaje | Hasta 50 en cada uno de `to`, `cc` y `bcc` | Sin límite fijo |
| Cuándo se cobran los créditos | Cuando se acepta la petición. Si no hay créditos suficientes, devuelve `402`. | Cuando se procesa cada email. Si no hay créditos suficientes, el email se retiene. |
| Qué cuenta el límite de velocidad | Cada destinatario | Cada transacción SMTP (un mensaje) |
| Tamaño máximo del mensaje | 40 MB | 40 MB |

Emailit no lee las cabeceras de control `X-Emailit-*` en los mensajes SMTP. Consulta [Cabeceras SMTP](/es/docs/smtp/headers/).

## Límites

| Límite | Valor |
| --- | --- |
| Tamaño del mensaje | 40 MB |
| Velocidad de envío (por defecto) | 2 mensajes por segundo y 5000 mensajes al día por espacio de trabajo, compartidos con la API |
| Renovación diaria | 00:00 UTC |
| Créditos | 1 por destinatario |

Los espacios de trabajo Pro y Business reciben aumentos automáticos de sus límites según su salud de envío, y cualquier espacio de trabajo puede solicitar más desde la tarjeta **Sending Limits** de la página de inicio del panel. Consulta [Límites](/es/docs/limits/).

## Próximos pasos

  - [Configuración SMTP](/es/docs/smtp/settings/): Puertos, TLS, autenticación, reglas de la dirección del remitente y límites.
  - [Cabeceras y respuestas](/es/docs/smtp/headers/): Qué añade, reescribe y elimina Emailit.
  - [Solución de problemas](/es/docs/smtp/troubleshooting/): Cada código de respuesta SMTP con su solución.
  - [Inicio rápido de SMTP](/es/docs/quickstart/smtp/): Envía tu primer mensaje paso a paso.

---
Fuente: https://emailit.com/es/docs/smtp/
