2016-02-11 97 views
0

我想用telnet来发送电子邮件与SMTP。似乎我已成功连接到邮件服务。信息也被放入队列中。但是为什么SMTP服务无法将消息发送到收到的地址的Telnet SMTP发送邮件超时

当我搜索的互联网解决方案,有人说,防火墙应该支付它。但我不知道防火墙或防病毒软件与telnet之间的关系。

这是我的命令:

220 smtp-5-124.smtpsmail.fmail.xd.sinanode.com ESMTP 
helo a 
250 smtp-5-124.smtpsmail.fmail.xd.sinanode.com 
auth login 
334 VXNlcd5hbWU6 
a25vd215aGV2341241fasYS5jbg== 
334 UGFzczdvcmQ6 
UmF5V2adfa23adsfZzgyNA== 
235 OK Authenticated 
mail from: <[email protected]> 
502 unimplemented (#5.5.1) 
mail from:<[email protected]> 
553 Envolope sender mismatch with login user.. 
mail from:<[email protected]> 
250 ok 
rcpt to:<[email protected]> 
250 ok 
data 
354 End data with <CR><LF>.<CR><LF> 
subject: test 
to:<[email protected]> 
from:<[email protected]> 
Testttttttttttttt! 
. 
250 ok queue id 6744281442287 
451 Timeout. 

顺便说一句,我尝试了两种在Windows 10和Ubuntu的15.10。他们两个都没有提出同样的问题。

+0

然后你需要检查邮件服务器的日志。你上面得到的东西就相当于把一个纸质包装物放到街角,然后把它放入邮箱。你需要检查邮政服务(smtp服务),看看它清空邮箱后会发生什么 –

+0

@MarcB谢谢。我检查了日志。但没有什么。最后我发现这是因为我的邮件格式。多么荒谬的错误...... – WingCuengRay

回答

0

最后,我发现,我错了。

在我以前的情况下,我无法发送电子邮件与上述code.I已成功地与SMTP服务器的连接,以及除“超时”反应一切正常。实际上,的“超时”并不意味着我没有发送电子邮件,而是失去了TCP连接。几小时后来,我登录我的电子邮件,用于发送,发现我收到一封邮件。邮件告诉我,我用telnet发送几个小时之前发来的电子邮件被退回,未能发布。所以这意味着这个原因很难,因为我的telnet客户端,但在服务器或其他。

最后,我发现,这是因为我的邮件格式的。在我之前的代码中,在发送关键字 - “数据”之后,我立即发送内容。

data 
354 End data with <CR><LF>.<CR><LF> 
subject: test 
to:<[email protected]> 
from:<[email protected]> 
Testttttttttttttt! 
. 
250 ok queue id 6744281442287 

当我改变它到它,它的工作。

data 
354 End data with <CR><LF>.<CR><LF> 
subject: test 
to:<[email protected]> 
from:<[email protected]> 

Testttttttttttttt! 
. 
250 ok queue id 6744281442287 

请注意,代码之间的差异是此邮件中内容之前的空行。 “subject”,“to”和“from”是标题。标题和内容之间必须有一个空行。

同样,在邮件标题可以忽略不计。该代码是这样的:

data 
354 End data with <CR><LF>.<CR><LF> 

Testttttttttttttt! 
. 
250 ok queue id 6744281442287 
451 Timeout. 

即使是有“超时”,它影响什么,但打破本地主机和SMTP服务器之间的TCP连接。