Una sessione SMTP è un dialogo in testo: EHLO, MAIL FROM, RCPT TO, DATA, poi il messaggio. Il server risponde a ogni passo con un codice a tre cifre: 2xx accettato, 4xx errore temporaneo (riprova più tardi), 5xx rifiuto definitivo.
Tra mail server SMTP usa la porta 25. Client di posta e applicazioni dovrebbero inviare sulla porta 587 (submission con STARTTLS) o 465 (TLS implicito) con autenticazione. Molti cloud provider bloccano la porta 25 in uscita per default.
Quando una mail non arriva, il codice di risposta SMTP nel log o nel messaggio di mancata consegna è l'informazione più utile. Il codice esteso come 5.7.1 restringe ulteriormente la causa.
Esempio
openssl s_client -connect mail.example.com:587 -starttls smtp