Rahul SK
Rahul SK

Reputation: 422

telnet smtp.gmail.com returns no response

I can't connect to my smtp gmail from my unix environment,

when I do telnet smtp.gmail.com I get response

Trying 74.125.68.108...
telnet: connect to address 74.125.68.108: Connection timed out
Trying 2404:6800:4003:c02::6d...

How do I debug this?

Upvotes: 0

Views: 4526

Answers (1)

user1869257
user1869257

Reputation: 505

Gmail requires SMTP communication with their server to be encrypted. You're opening up a connection to Gmail's server on port 465, unfortunately you won't be able to communicate with it in plaintext as Gmail require you to use STARTTLS/SSL encryption for the connection.

Try this:

telnet smtp.gmail.com 587

OR using Linux or OSx, you can try to use 465 with openssl.

openssl s_client -connect smtp.gmail.com:465

You should get lots of information on the SSL session and the response:

220 mx.google.com ...

Type in

HELO smtp.gmail.com 

and you'll receive:

250 mx.google.com at your service

From there it is not quite as straightforward as just sending SMTP messages because Gmail has protections in place to ensure you only send emails appearing to be from accounts that actually belong to you. Instead of typing in "Helo", use "Ehlo". I don't know much about SMTP so I cannot explain the difference, and don't have time to research much. Perhaps someone with more knowledge can explain.

Then, type:

auth login

And you will receive the following:

334 VXNlcm5hbWU6

This is the word "Username" encoded in Base 64. Using a Base 64 encoder such as this one, encode your user name and enter it. Do the same for your password, which is requested next. You should see:

235 2.7.0 Accepted

And that's it, you're logged in.

There is one more oddity to overcome if you're using OSx/Linux terminals. Just pressing the "ENTER" key does not result in a CRLF which SMTP needs to end a message. You have to use "CTRL+V+ENTER". So, this should look like the following:

^M
.^M
250 2.0.0 OK

Upvotes: 1

Related Questions