我想用telnet发送带有SMTP的电子邮件。似乎我已经成功地连接到了邮件服务,。信息也被排在了队列里。但是为什么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: <knowmyheart@sina.cn>
502 unimplemented (#5.5.1)
mail from:<knowmyheart@sina.cn>
553 Envolope sender mismatch with login user..
mail from:<knowmyheart@sina.cn>
250 ok
rcpt to:<517447201@qq.com>
250 ok
data
354 End data with <CR><LF>.<CR><LF>
subject: test
to:<517447201@qq.com>
from:<knowmyheart@sina.cn>
Testttttttttttttt!
.
250 ok queue id 6744281442287
451 Timeout.顺便说一下,我在Windows 10和Ubuntu-15.10上都试过了。他们两人在同一个问题上都失败了。
发布于 2016-02-17 15:19:55
最后,我发现了我错的地方。
在前面的例子中,我未能发送带有上述代码的电子邮件,我已经成功地连接到SMTP服务器,除了“超时值”响应之外,一切都正常工作。实际上,“超时值”并不意味着我无法发送电子邮件,而是丢失了TCP连接。几个小时后,我登录我的电子邮件,这是用来发送,发现我收到了一封邮件。邮件告诉我,我几个小时前用telnet发送的电子邮件被退回,但没有发出去。因此,这意味着这并不是因为我的telnet客户端,而是服务器或其他什么原因。
最后,我发现这是因为我的邮件格式。在前面的代码中,在发送关键字-- "data“之后,我立即发送内容。
data
354 End data with <CR><LF>.<CR><LF>
subject: test
to:<517447201@qq.com>
from:<knowmyheart@sina.cn>
Testttttttttttttt!
.
250 ok queue id 6744281442287当我把它改成这个的时候,它就起作用了。
data
354 End data with <CR><LF>.<CR><LF>
subject: test
to:<517447201@qq.com>
from:<knowmyheart@sina.cn>
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连接。
https://stackoverflow.com/questions/35346393
复制相似问题