Conectar seu sistema ao servidor SMTP
Com o domínio cadastrado e uma credencial criada, falta configurar o seu sistema — loja, ERP, CRM ou aplicação própria — para enviar pelo servidor SMTP da iPORTO.
Antes de começar
Seção intitulada “Antes de começar”- Um domínio cadastrado e uma credencial — veja Criar uma credencial SMTP.
- A rede de onde o seu sistema envia precisa permitir conexões de saída na porta 587.
Passo a passo
Seção intitulada “Passo a passo”-
No painel do SMTP, abra o domínio em Infraestrutura → Domínios (SMTP).
-
Na aba Credenciais, o card Servidor de Conexão traz os dados de conexão:
Campo Valor Host (Servidor SMTP) o endereço mostrado no card — copie de lá Porta 587Criptografia TLS (STARTTLS) Usuário a credencial completa, como [email protected]Senha a senha mostrada no card da credencial -
Configure esses dados no seu sistema. O remetente (
From) deve ser um endereço do domínio cadastrado. -
Faça um envio de teste para uma caixa sua e confira em Histórico de envio.
A aba Instalação do domínio traz exemplos prontos para Laravel, Nodemailer, Python e PHPMailer, já com os dados do seu domínio.
Exemplos
Seção intitulada “Exemplos”Troque HOST_DO_PAINEL, o usuário e a senha pelos valores do seu painel.
PHP (PHPMailer)
$mail = new PHPMailer(true);$mail->isSMTP();$mail->Host = 'HOST_DO_PAINEL';$mail->SMTPAuth = true;$mail->Password = 'SENHA_DO_PAINEL';$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;$mail->Port = 587;
$mail->isHTML(true);$mail->Subject = 'Seu pedido foi confirmado';$mail->Body = '<p>Olá! Recebemos o seu pedido.</p>';$mail->send();Node.js (Nodemailer)
const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({ host: 'HOST_DO_PAINEL', port: 587, secure: false, // a criptografia é negociada por STARTTLS na porta 587});
await transporter.sendMail({ subject: 'Seu pedido foi confirmado', html: '<p>Olá! Recebemos o seu pedido.</p>',});Python (smtplib)
import smtplibfrom email.message import EmailMessage
msg = EmailMessage()msg["Subject"] = "Seu pedido foi confirmado"msg.set_content("Olá! Recebemos o seu pedido.")
with smtplib.SMTP("HOST_DO_PAINEL", 587, timeout=30) as smtp: smtp.starttls() smtp.send_message(msg)Para testar só a conexão e o TLS, pela linha de comando:
openssl s_client -starttls smtp -connect HOST_DO_PAINEL:587O que acontece depois
Seção intitulada “O que acontece depois”Cada e-mail aceito pelo servidor entra no Histórico de Envio, com o status da entrega. Aceito pelo servidor não quer dizer entregue na caixa de entrada: o destino ainda pode recusar, adiar ou filtrar a mensagem — e é o histórico que mostra o que aconteceu.
Se der errado
Seção intitulada “Se der errado”| Sintoma | Causa provável | O que fazer |
|---|---|---|
| Tempo esgotado ao conectar | A porta 587 está bloqueada na sua rede ou no seu provedor de hospedagem | Libere a saída na porta 587 no firewall, ou peça ao provedor |
| Erro de TLS / handshake | Biblioteca ou OpenSSL desatualizado, ou o sistema tentou SSL direto em vez de STARTTLS | Use STARTTLS na 587 (no Nodemailer, secure: false); atualize a biblioteca |
535 Authentication credentials invalid |
Usuário ou senha errados | Use o endereço completo como usuário e copie a senha pelo botão do painel |
550 Relaying denied / Authentication required |
O sistema está enviando sem autenticar | Ative a autenticação SMTP (LOGIN/PLAIN) na configuração do sistema |
| O e-mail sai mas não aparece no histórico | O sistema está usando outro servidor de envio | Confira o host configurado no sistema |
Para falhas depois da conexão — e-mail recusado pelo destino, bounce, spam —, veja Entender por que um e-mail não foi entregue.
