且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用TLS和普通身份验证将电子邮件发送到Gmail的SMTP服务器

更新时间:2022-10-30 10:35:50

除非我们与服务器建立安全连接,否则我们不能使用STARTTLS。简单的SMTP库和telnet不支持STARTTLS。为此,我必须使用GNUTLS,它与服务器执行握手并交换证书以建立安全连接。之后,我发送STARTTLS,它工作正常。希望这有助于其他面临类似问题。谢谢

I have a situation. I want to connect to gmail smtp server and send Email from my gmail account. as gmail smtp server uses PLAIN authentication and TLS. I connect to gmail smtp server. and server response is as follow.

220 mx.google.com ESMTP n21sm810716wed.43

then I send it "AUTH PLAIN" and send "EHLO" command. The server responses are as follow:

503 5.5.1 EHLO/HELO first. n21sm810716wed.43

I then sent it "EHLO" command again and response is:

250-mx.google.com at your service, [203.99.179.10]

after this whatever I give it. It prints a sequence of line and Exit. The sequence of responses which it gives are;

250-SIZE 35882577

250-8BITMIME

250-STARTTLS

250 ENHANCEDSTATUSCODES

what should I give it so that it let me login and send me Email? Any help or suggestion will be appreciated. Thanks

See also

Using SMTP, Gmail, and STARTTLS

We can not use STARTTLS unless we have a secure connection with the server. simple SMTP library and telnet do not support STARTTLS. For this I had to use GNUTLS which performs handshaking with the server and exchange certificate to establish a secure connection. After that I send STARTTLS and it works fine. Hope this helps other facing similar problem. Thanks