Integração SMTP
Use qualquer cliente, aplicação ou dispositivo SMTP. Copie os valores de conexão do painel e ative o TLS.
Detalhes da conexão
Use sempre uma conexão criptografada. Autentique-se com seu usuário SMTP e uma chave de API como senha. Copie o host e o usuário exatos da página SMTP do painel; os valores abaixo mostram apenas o formato.
Host: YOUR_SMTP_HOST Port: 587 (STARTTLS) or 465 (implicit TLS) Username: YOUR_SMTP_USERNAME Password: YOUR_API_KEY
Qual porta usar
A porta 587 com STARTTLS é a porta de submissão padrão e a melhor escolha inicial. A porta 465 usa TLS desde o primeiro byte e atende clientes que o esperam. Evite a porta 25 para submissão: ela é destinada a e-mail entre servidores e muitos provedores de hospedagem a bloqueiam.
Teste pela linha de comando
Confirme a autenticação antes de integrar sua aplicação. O swaks envia uma mensagem de teste; o openssl mostra o handshake TLS se algo falhar.
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
Exemplo: Node.js (Nodemailer)
O Nodemailer funciona com qualquer serviço SMTP. Mantenha as credenciais em variáveis de ambiente.
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 });Exemplo: Python (smtplib)
A biblioteca padrão basta para um envio simples.
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)Cabeçalhos que vale definir
Defina um Reply-To se as respostas devem ir para outro lugar que não o endereço From. Para e-mails em massa ou de marketing, adicione um cabeçalho List-Unsubscribe, que os provedores de caixa de entrada procuram. Use um endereço From de um domínio verificado, ou a mensagem pode ser rejeitada.
Resultados de entrega
O SMTP só informa que a mensagem foi aceita. Para saber se ela foi entregue, teve bounce ou foi denunciada como spam, use webhooks ou a visão de atividade no painel.