Integración SMTP
Use cualquier cliente, aplicación o dispositivo SMTP. Copie los valores de conexión de su panel y añada TLS.
Datos de conexión
Use siempre una conexión cifrada. Autentíquese con su usuario SMTP y una clave de API como contraseña. Copie el host y el usuario exactos de la página SMTP de su panel; los valores de abajo muestran el formato.
Host: YOUR_SMTP_HOST Port: 587 (STARTTLS) or 465 (implicit TLS) Username: YOUR_SMTP_USERNAME Password: YOUR_API_KEY
Qué puerto usar
El puerto 587 con STARTTLS es el puerto de envío estándar y la mejor opción por defecto. El puerto 465 usa TLS desde el primer byte y es adecuado para clientes que lo esperan. Evite el puerto 25 para el envío: está pensado para correo entre servidores y muchos proveedores de hosting lo bloquean.
Pruebe desde la línea de comandos
Confirme la autenticación antes de conectar su aplicación. swaks envía un mensaje de prueba; openssl muestra el handshake TLS si algo falla.
swaks --to you@example.com --from hello@example.com \ --server YOUR_SMTP_HOST:587 --tls \ --auth LOGIN --auth-user YOUR_SMTP_USERNAME openssl s_client -starttls smtp -connect YOUR_SMTP_HOST:587
Ejemplo: Node.js (Nodemailer)
Nodemailer funciona con cualquier servicio SMTP. Guarde las credenciales en variables de entorno.
const nodemailer = require("nodemailer");
const transport = nodemailer.createTransport({
host: process.env.SMTP_HOST,
port: 587,
secure: false, // STARTTLS
auth: { user: process.env.SMTP_USER, pass: process.env.MIGOSMTP_KEY },
});
await transport.sendMail({ from, to, subject, text });Ejemplo: Python (smtplib)
La biblioteca estándar basta para un envío sencillo.
import os, smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["From"], msg["To"], msg["Subject"] = "hello@example.com", "you@example.com", "Hello"
msg.set_content("It works.")
with smtplib.SMTP(os.environ["SMTP_HOST"], 587) as s:
s.starttls()
s.login(os.environ["SMTP_USER"], os.environ["MIGOSMTP_KEY"])
s.send_message(msg)Cabeceras que conviene definir
Defina un Reply-To si las respuestas deben ir a una dirección distinta de la de from. Para correo masivo o de marketing añada una cabecera List-Unsubscribe, que los proveedores de correo buscan. Use una dirección from de un dominio que haya verificado, o el mensaje podría ser rechazado.
Resultados de entrega
SMTP solo indica que el mensaje fue aceptado. Para saber si se entregó, rebotó o se reportó como spam, use webhooks o la vista de actividad del panel.