Por que enviar pelas portas 587 e 465
A porta 25 é a que os servidores de e-mail usam para passar e-mails entre si. Enviando do servidor direto ao servidor de e-mail de destino, você precisa cuidar de reputação do IP, DNS reverso e controle de volume, e e-mails enviados de IPs de servidores novos vão facilmente para o spam.
As portas 587 e 465 são portas de submissão, em que usuários autenticados entregam e-mails. Entrando com usuário e senha em um serviço de envio e entregando o e-mail, servidores de envio com reputação cuidada fazem a entrega por você. É o jeito mais seguro de fazer e-mails de confirmação de cadastro, recuperação de senha e avisos de pedido chegarem à caixa de entrada.
- Porta 587: conecta sem criptografia e inicia a criptografia com STARTTLS. É a porta padrão da maioria dos serviços e programas.
- Porta 465: conecta já criptografada com TLS desde o início. Nas telas de configuração costuma aparecer como SSL ou SSL/TLS.
Escolher um serviço de envio de e-mails
Há dois grandes tipos de serviço de envio. Um são os serviços de e-mail transacional, que enviam em grande volume os avisos de sites e aplicações; o outro é a função SMTP da conta de e-mail da empresa ou pessoal que você já usa. Em qualquer um, com as quatro informações abaixo a configuração está pronta para começar.
- Endereço do servidor SMTP: por exemplo smtp.example.com
- Porta: 587 (STARTTLS) ou 465 (SSL/TLS)
- Nome de usuário: o usuário ou endereço de e-mail definido pelo serviço
- Senha: a senha exclusiva de SMTP ou a chave de API do serviço
Para lojas virtuais ou serviços com grande volume de envios, os serviços de e-mail transacional são práticos, pois cuidam do histórico de envios, das devoluções e dos descadastros. Para alguns avisos, o SMTP de uma conta de e-mail basta.
Conferir a conexão SMTP a partir do servidor
Antes de configurar, confira se a conexão do servidor até o serviço de envio funciona. Os comandos abaixo só conferem a conexão e não enviam e-mails.
nc -vz smtp.example.com 587
openssl s_client -starttls smtp -connect smtp.example.com:587 -crlf -quiet
openssl s_client -connect smtp.example.com:465 -crlf -quietSe a primeira linha mostrar succeeded ou open e o comando openssl mostrar a saudação do servidor começando com 220, está pronto. Saia com Ctrl+C. Se não houver o comando nc, instale com apt install -y netcat-openbsd no Ubuntu e Debian e dnf install -y nmap-ncat no AlmaLinux.
Conectar o Postfix ao serviço de envio
Para reunir em um só lugar os e-mails enviados por programas do servidor, avisos do cron e o comando mail, configure o Postfix como relé que passa os e-mails ao serviço de envio. Todos os e-mails do servidor saem autenticados pela porta 587.
Passo 1. Instalação
apt install -y postfix libsasl2-modules mailutilsSe durante a instalação perguntar o tipo de configuração de e-mail, escolha Internet Site e coloque seu domínio no nome de e-mail. No AlmaLinux 10, instale com dnf install -y postfix cyrus-sasl-plain s-nail e ative com systemctl enable --now postfix.
Passo 2. Configurar o relé
postconf -e 'relayhost = [smtp.example.com]:587'
postconf -e 'smtp_sasl_auth_enable = yes'
postconf -e 'smtp_sasl_password_maps = texthash:/etc/postfix/sasl_passwd'
postconf -e 'smtp_sasl_security_options = noanonymous'
postconf -e 'smtp_tls_security_level = encrypt'
postconf -e 'inet_interfaces = loopback-only'inet_interfaces = loopback-only faz o servidor aceitar só e-mails enviados de dentro dele, impedindo que de fora usem este servidor como relé de e-mails.
Passo 3. Salvar os dados de login
echo '[smtp.example.com]:587 SMTP_USER:SMTP_PASSWORD' > /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
systemctl restart postfixSe o serviço usa a porta 465, mude para 465 a porta em relayhost e sasl_passwd e acrescente a linha postconf -e 'smtp_tls_wrappermode = yes'.
Passo 4. Envio de teste e conferência dos logs
echo "VPS mail test" | mail -s "Test from VPS" you@example.com
postqueue -p
journalctl -t postfix/smtp -n 20Se o log mostrar status=sent, o serviço de envio recebeu o e-mail. postqueue -p mostra a lista de e-mails que ainda não saíram. Se corrigiu os dados de login, depois de systemctl restart postfix reenvie com postqueue -f.
Configurar SMTP no WordPress e em aplicações
A maioria dos sites e aplicações tem campos de configuração SMTP, então você pode conectar direto ao serviço de envio sem Postfix no servidor. No WordPress, instale um plugin SMTP e coloque os valores abaixo para que os e-mails de cadastro e recuperação de senha saiam por esse serviço.
- Host SMTP: endereço do serviço de envio
- Criptografia: TLS (STARTTLS) na 587, SSL na 465
- Porta: 587 ou 465
- Autenticação: ativada, com nome de usuário e senha
- Endereço do remetente: um endereço do seu domínio (ex.: no-reply@example.com)
Aplicações Node.js, PHP e Python também configuram a biblioteca de e-mail com os mesmos valores. Não escreva a senha direto no código; colocá-la em variáveis de ambiente ou arquivos de configuração fica organizado. A instalação do WordPress está no guia de instalação do WordPress.
Colocar SPF, DKIM e DMARC no DNS do domínio
O servidor de e-mail que recebe confere pelos registros DNS se o e-mail veio mesmo de um lugar autorizado pelo seu domínio. Com os três registros, a taxa de chegada à caixa de entrada sobe muito.
- SPF: é a lista de servidores que podem enviar e-mails do seu domínio. Coloque em um registro TXT o valor include informado pelo serviço de envio.
- DKIM: é a assinatura digital anexada ao e-mail. Coloque tal como estão os registros TXT ou CNAME gerados na tela do serviço de envio.
- DMARC: define o que fazer com e-mails que falham na verificação de SPF e DKIM. No início, comece com uma configuração que só recebe relatórios, como abaixo.
_dmarc.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"Depois de algumas semanas vendo os relatórios e confirmando que todos os e-mails passam, suba para p=quarantine e em seguida para p=reject, bloqueando quem se passa pelo seu domínio.
Receber e-mails e próximos passos
Para receber os e-mails do seu domínio, coloque no domínio os registros MX de um serviço de hospedagem de e-mail. Com a hospedagem de e-mail cuidando do recebimento e o serviço de envio dos avisos enviados, o servidor se concentra só no site e nas aplicações.
Enviando por um serviço de envio de e-mails, mesmo ao migrar ou criar um servidor novo, basta mover algumas linhas de configuração e tudo continua. Mesmo se o IP do servidor mudar, a reputação de envio fica no serviço, então ao levar o site para outra região a taxa de entrega de e-mails não oscila.
Abra e use livremente as outras portas conforme o serviço. Como abrir só as portas que usa está no guia básico de firewall, e as regras de uso dos servidores na política de uso.
