The sending email via curl is working for me properly on the _same_ machine.
some debug info:
...
> STARTTLS < 220 2.0.0 SMTP server ready
* successfully set certificate verify locations:
* CAfile: none CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
} [data not shown]
* SSLv3, TLS handshake, Server hello (2):
{ [data not shown]
* SSLv3, TLS handshake, CERT (11):
{ [data not shown]
* SSLv3, TLS handshake, Server key exchange (12):
{ [data not shown]
* SSLv3, TLS handshake, Request CERT (13):
{ [data not shown]
* SSLv3, TLS handshake, Server finished (14):
{ [data not shown]
* SSLv3, TLS handshake, CERT (11):
} [data not shown]
* SSLv3, TLS handshake, Client key exchange (16):
} [data not shown]
* SSLv3, TLS change cipher, Client hello (1):
} [data not shown]
* SSLv3, TLS handshake, Finished (20):
} [data not shown]
* SSLv3, TLS change cipher, Client hello (1):
{ [data not shown]
* SSLv3, TLS handshake, Finished (20):
{ [data not shown]
* SSL connection using ECDHE-RSA-AES256-GCM-SHA384
* Server certificate:
* subject: C=US; ST=Washington; L=Redmond; O=Microsoft Corporation;
CN=outlook.com
* start date: 2017-09-13 00:00:00 GMT
* expire date: 2018-09-13 12:00:00 GMT
* issuer: C=US; O=DigiCert Inc; CN=DigiCert Cloud Services CA-1
* SSL certificate verify ok.
...
CURL sends the STARTTLS command to server then starting TLS negotiation
proceeds.
STARTTLS doesn't exist in smtp.nim.
Also I think STARTTLS and TLS negotiation proceeds is not implemented yet in
smtp nim module.