Reputation: 422
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
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