通过命令行连接到smtp.gmail.com(Connecting to smtp.gmail.co

2019-07-20 19:10发布

我以书面形式通过有效的Gmail用户名和密码发送邮件应用程序的过程。

我只是想以模拟在我的Windows XP的命令行的SMTP连接,当我telnet smtp.gmail.com 465端口-我看不到任何东西。 标题为空白命令窗口中Telnet smtp.gmail.com用游标打开。 当我在键入EHLO或通常SMTP握手命令,提示正好关闭。

我无法弄清楚怎么回事问题以及哪里。 我试图连接到587,它不会在远程登录连接的。 任何人都可以请澄清,如果我做错了什么?

Answer 1:

使用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


Answer 2:

对于OSX”末端:

openssl s_client -connect smtp.gmail.com:25 -starttls smtp 


Answer 3:

Gmail的要求SMTP通信用自己的服务器进行加密。 虽然你开放了端口465到Gmail的服务器的连接,不幸的是你将无法以明文与它通信的Gmail的要求使用STARTTLS / SSL加密连接。



Answer 4:

Jadaaih,您可以通过连接卷曲发送SMTP - 链接卷曲开发者社区 。

这是卷曲的电子邮件客户端源 。



Answer 5:

试试这个:

telnet smtp.gmail.com 587


Answer 6:

检查这篇文章在Lifehacker的: 野人生存:备份的Gmail与fetchmail的 。 它使用一个命令行程序。 检查,看看是否有帮助。 BTW为什么您使用时也有很多其他不错的替代命令行?



Answer 7:

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/



Answer 8:

从终端开始会话:

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接受”,你就成功登录



Answer 9:

Gmail使用加密连接。 所以,你建立连接后,也您将无法发送任何电子邮件。 加密是一个有点复杂管理。 尝试使用OpenSSL的替代。

下面的线程应该帮助 -

如何通过Gmail使用简单的SMTP命令发送电子邮件?



文章来源: Connecting to smtp.gmail.com via command line