【发布时间】:2014-04-24 12:51:15
【问题描述】:
我编写了两个使用 Netcat 和 Telent 发送电子邮件的期望脚本。 使用这两个脚本,如果数据丢失,与 smtp 服务器的连接将断开 尺寸太长(超过 100k)。我想这是超时的问题,因为 如果我的连接速度非常快并且我的脚本设法发送所有数据 在不到 2-3 秒的时间内,脚本成功运行。
所以我想知道发送命令是否有时间/大小限制以及更改此限制的方法。
【问题讨论】:
-
电子邮件大小为 100kb 的情况并不少见,2-3 秒似乎不足以导致超时。您是否可能超过 SMTP 的最大行长度,即 1000 个字符(根据 RFC821)。遥控器只是断开连接,还是先发送错误消息?如果它发送和错误消息,它是什么?
-
它实际上并没有发送任何错误信息。终端显示数据传输被截断,等待几秒钟,然后断开连接和脚本。奇怪的是,如果我用非常快的连接(然后使用相同的内容)做同样的事情,脚本会成功结束并发送邮件。
-
如果我在正常速度的连接上多次启动脚本,它总是会在内容的不同部分阻塞。此外,如果我尝试通过 Telnet 手动发送电子邮件,它也会在某些部分数据处冻结,但如果我按 Enter,它会继续发送数据,直到发送消息为止。
-
只有一台远程主机会发生这种情况,还是多台远程主机会发生这种情况?
-
到目前为止我尝试过的每一个远程主机都会发生这种情况。另一方面,如果从命令行使用 Netcat (nc smpt.myserver.com 25