问题
I'm trying to send an email with netcat, this is what i get:
****-MacBook-Pro:~ ***$ nc smtp.gmail.com 25
220 mx.google.com ESMTP h8sm66301168eew.16 - gsmtp
Helo gmail.com
250 mx.google.com at your service
MAIL FROM: <******@gmail.com>
530 5.7.0 Must issue a STARTTLS command first. h8sm66301168eew.16 - gsmtp
what is STARTTLS command and what do i need to do with it?
回答1:
STARTTLS is an extension to plain text communication protocols, which offers a way to upgrade a plain text connection to an encrypted (TLS or SSL) connection instead of using a separate port for encrypted communication.
http://en.wikipedia.org/wiki/STARTTLS
The smtp server is saying it won't accept plain text connections.
回答2:
You basicaly just need to specify that you're using TLS.
回答3:
Use EHLO instead of HELO. This will start 250-STARTTLS.
来源:https://stackoverflow.com/questions/19914036/getting-530-5-7-0-must-issue-a-starttls-command-first-error-when-sending-mail