O JohnThePro está certo, você pode simplesmente usar o cliente telnet integrado na maioria dos sistemas operacionais. O SMTP é um protocolo simples baseado em texto, e a maioria dos servidores espera pacientemente enquanto você digita. Muitas vezes isso lhe dará uma boa idéia de onde está o problema. Tente digitar isso em uma linha de comando.
> telnet mail.contoso.com 25
Aqui está um exemplo de conversa em que as respostas do servidor são prefixadas por S:
e o texto digitado pelo usuário é prefixado por C:
.
S: 220 mail.contoso.com ESMTP
C: EHLO myhostname
S: 250-mail.contoso.com
S: 250-8BITMIME
S: 250 SIZE 10485760
C: mail from:<[email protected]>
S: 250 sender <[email protected]> ok
C: rcpt to:<[email protected]>
S: 250 recipient <[email protected]> ok
C: data
S: 354 go ahead
C: Subject: test
C:
C: test
C: .
S: 250 ok: Message 378625388 accepted
C: quit
S: 221 mail.contoso.com
Para (muito) mais detalhes, consulte o padrão SMTP, RFC 2821 .
Se você puder ter essa conversa com o servidor, saberá que a mensagem de e-mail está ficando pelo menos tão distante. Se ainda houver problemas, talvez você queira usar uma ferramenta de detecção de pacotes como Wireshark para observar o tráfego SMTP de saída do servidor que pode gerar você mais pistas.