I am in the process of writing an application that sends mail via an valid GMail user ID and password.
I just wanted to simulate the SMTP connection on my Windows XP command line, and when I telnet smtp.gmail.com
at 465 port - I don't see any thing. A blank command window with title Telnet smtp.gmail.com
opens with cursor. When I type in EHLO
or usual SMTP handshake commands, the prompt just closes.
I am unable to figure out whats going wrong and where. I tried connecting to 587, it does not connect in telnet at all. Could anyone please clarify if I am doing something wrong?
tcp/465 was initially intended for establishing the SSL(and newer TLS) layer first, and inside doing cleartext or plain old protocols (smtp here)
tcp/587 was intended as a replacement to default tcp/25 port initially when spammers and mass mailing attacks commenced like a decade or more ago, but also during those infamous AOL ages, when some funny ISP had some blocks on default ports outbound (such as that tcp/25) for denying their own customers (AOL) to mass-send emails/spam back then, but AOL-customers needing to use alternative mail-accounts and mail-providers still needed to send their mails from AOL-internet connections, so they could still connect to tcp/587 and do simple smtp on it back then.
The deal with the STARTTLS way to do smtp is to use the two well known originally plain-text tcp/25 and tcp/587 ports, and only when the initial clear-text connect suceeded, to then START the TLS layer (thus STARTTLS) from there on, having a secured connection from that point onwards.
As for debugging these kind of things maybe via command-line tools, for example for windows there is the historical blat command line mailer (smtp), which up till today cant do TLS (STARTTLS) so it can only use plain-text smtp to send its mails.
http://www.blat.net/
Then there are numerous projects freeware and open source software that have more capabilities and features, such as
smtp client: mailsend @ googlecode http://code.google.com/p/mailsend/
smtp client: msmtp @ sourceforge (related to mpop below) http://msmtp.sourceforge.net/
pop3 client: mpop @ sourceforge http://mpop.sourceforge.net/
Try this:
Start session from terminal:
openssl s_client -connect smtp.gmail.com:25 -starttls smtp
The last line of the response should be "250 SMTPUTF8"
Initiate login
auth login
This should return "334 VXNlcm5hbWU6".
Type username
Type your username in base64 encoding (eg.
echo -n 'your-username' | base64
)This should return "334 UGFzc3dvcmQ6"
Type password
Type your password in base64 encoding (eg.
echo -n 'your-password' | base64
)Success
You should see "235 2.7.0 Accepted" and you're are successfully logged in