我以书面形式通过有效的Gmail用户名和密码发送邮件应用程序的过程。
我只是想以模拟在我的Windows XP的命令行的SMTP连接,当我telnet smtp.gmail.com
465端口-我看不到任何东西。 标题为空白命令窗口中Telnet smtp.gmail.com
用游标打开。 当我在键入EHLO
或通常SMTP握手命令,提示正好关闭。
我无法弄清楚怎么回事问题以及哪里。 我试图连接到587,它不会在远程登录连接的。 任何人都可以请澄清,如果我做错了什么?
我以书面形式通过有效的Gmail用户名和密码发送邮件应用程序的过程。
我只是想以模拟在我的Windows XP的命令行的SMTP连接,当我telnet smtp.gmail.com
465端口-我看不到任何东西。 标题为空白命令窗口中Telnet smtp.gmail.com
用游标打开。 当我在键入EHLO
或通常SMTP握手命令,提示正好关闭。
我无法弄清楚怎么回事问题以及哪里。 我试图连接到587,它不会在远程登录连接的。 任何人都可以请澄清,如果我做错了什么?
使用Linux或OSX,做什么索林建议,但使用端口465来代替。 25是通用的SMTP端口,但是不知道Gmail使用。 另外,我不相信你想使用-starttls SMTP
openssl s_client -connect smtp.gmail.com:465
你应该得到很多的SSL会话和响应信息:
220 mx.google.com ...
输入
HELO smtp.gmail.com
你会得到:
250 mx.google.com at your service
从那里,它并不像刚刚发送SMTP邮件因为Gmail有保护措施,以确保您只发送看似是从实际属于您帐户的电子邮件一样简单。 相反,在“直升机”打字的,用“EHLO”。 我不知道很多关于SMTP所以我无法解释的差别,并没有时间来研究了。 也许有人有更多的知识能解释清楚。
然后,键入“身份验证登录”,您将获得以下信息:
334 VXNlcm5hbWU6
这实质上是单词“用户名”,在基地64编码使用基64的编码器,如这一个 ,编码您的用户名和输入。 执行相同的密码,这是下一个要求。 您应该看到:
235 2.7.0 Accepted
就是这样,你登录。
还有一个怪胎,如果你使用OSX或Linux终端克服。 只需按“ENTER”键显然并未导致其SMTP需要结束消息的CRLF。 您必须使用 “CTRL + V + ENTER”。 所以,这看起来应该像下面这样:
^M
.^M
250 2.0.0 OK
对于OSX”末端:
openssl s_client -connect smtp.gmail.com:25 -starttls smtp
Gmail的要求SMTP通信用自己的服务器进行加密。 虽然你开放了端口465到Gmail的服务器的连接,不幸的是你将无法以明文与它通信的Gmail的要求使用STARTTLS / SSL加密连接。
Jadaaih,您可以通过连接卷曲发送SMTP - 链接卷曲开发者社区 。
这是卷曲的电子邮件客户端源 。
试试这个:
telnet smtp.gmail.com 587
检查这篇文章在Lifehacker的: 野人生存:备份的Gmail与fetchmail的 。 它使用一个命令行程序。 检查,看看是否有帮助。 BTW为什么您使用时也有很多其他不错的替代命令行?
TCP / 465最初旨在用于建立SSL(和更新的TLS)层第一和(这里SMTP)的内部操作的方式明文或普通老式协议
TCP / 587的目的是作为一个替代默认的TCP / 25端口最初当垃圾邮件和群发邮件攻击或更多年前开始喜欢了十年,而且在那些臭名昭著的AOL时代,当一些有趣的ISP对默认端口出境一些块(例如作为否定他们自己的客户(AOL)到TCP / 25)大规模发送电子邮件/垃圾邮件,但今天,美国在线的客户需要使用替代邮件账户,仍然需要从美国在线的互联网连接发送的邮件的邮件提供商,所以他们仍然可以连接到TCP / 587和做简单的SMTP就可以了当时的情况。
与STARTTLS方式做SMTP这笔交易是使用两个众所周知的最初明文TCP / 25和TCP / 587端口,并且只有当初始明文连接suceeded,然后开始了TLS层(因此STARTTLS)从那里,从具有该点向前的安全连接。
至于调试这些类型的通过命令行工具也许事情,例如用于Windows,有一个历史BLAT命令行邮件(SMTP),该到了今天不能做TLS(STARTTLS),所以它只能使用纯文本SMTP来发送邮件了。
http://www.blat.net/
然后有许多项目具有更多的功能和特性免费软件和开源软件,如
SMTP客户端:mailsend @ googlecode上http://code.google.com/p/mailsend/
SMTP客户端:msmtp在sourceforge上@(以下MPOP相关) http://msmtp.sourceforge.net/
POP3客户端:MPOP @ sourceforge上http://mpop.sourceforge.net/
从终端开始会话:
openssl s_client -connect smtp.gmail.com:25 -starttls smtp
响应的最后一行应该是“250 SMTPUTF8”
启动登录
auth login
这应返回“334 VXNlcm5hbWU6”。
类型用户名
在base64编码输入您的用户名(如echo -n 'your-username' | base64
)
这应返回“334个UGFzc3dvcmQ6”
键入密码
在base64编码输入您的密码(如echo -n 'your-password' | base64
)
成功
您应该看到“235 2.7.0接受”,你就成功登录
Gmail使用加密连接。 所以,你建立连接后,也您将无法发送任何电子邮件。 加密是一个有点复杂管理。 尝试使用OpenSSL的替代。
下面的线程应该帮助 -
如何通过Gmail使用简单的SMTP命令发送电子邮件?