Testar uma credencial SMTP antes de a pôr a trabalhar: um e-mail de teste pela linha de comandos

E-mail·· 17 visualizações· 3 min de leitura

Este artigo é para quem tem acesso a uma linha de comandos (um VPS, o terminal do cPanel quando a conta tem SSH, ou o seu computador). A resposta curta: antes de pôr a credencial no programa, envie um e-mail de teste com ela, a partir da mesma máquina onde o programa vai correr. Se o teste passa, a credencial, a porta e a rede estão bem, e qualquer erro que apareça depois é da configuração do programa.

Com o swaks

O swaks é uma ferramenta pequena feita para testar SMTP; instala-se pelo gestor de pacotes da distribuição. A primeira linha pede a senha sem a mostrar e sem a deixar no histórico:

read -s SMTP_PASSWORD
swaks --server SMTP_HOST --port 587 --tls \
--auth-user SMTP_USER --auth-password "$SMTP_PASSWORD" \
--from no-reply@asuaempresa.co.mz --to voce@exemplo.com

Para a porta 465, troque --port 587 --tls por --port 465 --tlsc. O swaks mostra a conversa toda com o servidor, linha a linha.

Com Python, sem instalar nada

python3 - <<'FIM'
import getpass, smtplib
s = smtplib.SMTP("SMTP_HOST", 587); s.starttls()
s.login("SMTP_USER", getpass.getpass("Senha: "))
s.sendmail("no-reply@asuaempresa.co.mz", ["voce@exemplo.com"], "Subject: Teste\r\n\r\nTeste do SMTP Relay")
s.quit()
FIM

Ler a resposta

O que vê Quer dizer O que fazer
Uma resposta que começa por 250 no fim O relay aceitou o e-mail. Confirme no registo do Email Center e na sua caixa.
Erro de autenticação (código 535) Utilizador ou senha errados, ou credencial revogada. Confira o que copiou, ou crie uma credencial nova.
Recusa do remetente O domínio do remetente não está verificado. Use um endereço do domínio verificado.
Fica parado, sem resposta A porta está bloqueada na rede desta máquina. Experimente a 465. Veja que portas estão abertas.
Nunca escreva a senha directamente no comando. Fica no histórico da consola e, num servidor partilhado, pode aparecer na lista de processos. Os dois exemplos acima pedem-na sem a mostrar.
Para ver a conversa SMTP comando a comando, à mão, há o teste com o openssl s_client.

O teste falha e não percebe porquê? Abra um pedido com o que o comando mostrou, sem a senha.

Abrir pedido de suporte

VEJA TAMBÉM

O SMTP Relay não envia: ligação, TLS, autenticação, remetente e destinatário, um a um

Testar IMAP, POP3 e SMTP à mão com o openssl s_client: guia para utilizadores técnicos

Que portas estão abertas, e porque é que a sua integração fica pendurada sem erro

Enviar pelo SMTP Relay a partir de Node.js e Python: Nodemailer e smtplib, com STARTTLS

O programa diz «enviado» e o cliente não recebeu: encontrar o e-mail no registo do Email Center

PRODUTO RECOMENDADO

E-mail profissional no seu domínio

Caixas com o nome da sua empresa, sem publicidade, com filtro de spam. desde 321,75 MT/mês (plano de 3 anos, com cupão)

Ver planos
Esta resposta foi útil? A sua resposta ajuda-nos a melhorar este artigo.