OK, finalmente resolvi meus dois problemas:.
-
O primeiro problema foi sobre a coisa
RENEGOTIATING
. A solução é escrever os comandos (ou pelo menos os que começam comR
) em letras minúsculas. O OpenSSL interpreta umR
maiúsculo como um comando para renegociação do TLS . -
O segundo problema foi que o servidor "não reconheceu o comando DATA". Esse problema está no começo:
openssl s_client -connect smtp.gmail.com:465 -crlf
Todos os tutoriais na internet dizem que você deve usar a opção -crlf
e é verdade, para o Linux . Se você estiver usando o Windows, NÃO use essa opção. Essa opção é de acordo com a documentação :
this option translated a line feed from the terminal into CR+LF as required by some servers.
Eu pensei que mesmo que o Windows use CR + LF, o OpenSSL forçou a nova linha a ser LF apenas para ter consistência com a implementação do Unix. Eu estava errado. Na verdade, agora, eu não sei o que a opção -crlf
faz no Windows . Talvez traduza CR + LF em LF? Isso seria muito estranho, dado o nome da opção.