Smtp 使用Tcl expect发送数据的时间限制

Smtp 使用Tcl expect发送数据的时间限制,smtp,send,expect,Smtp,Send,Expect,我编写了两个使用Netcat和Telent发送电子邮件的expect脚本。 对于这两个脚本,如果数据丢失,与smtp服务器的连接将断开 尺寸太长(超过100k)。我想这是一个超时的问题,因为 如果我的连接真的很快,并且我的脚本设法发送所有数据 在不到2-3秒的时间内,脚本成功运行 因此,我想知道send命令是否有时间/大小限制,以及更改此限制的方法。我找到了解决方案。 这是一个非常愚蠢的错误。在我的脚本中,我只希望“250”作为数据和数据的结尾 已接受交货。但是附件是用base64编码的,包括数

我编写了两个使用Netcat和Telent发送电子邮件的expect脚本。 对于这两个脚本,如果数据丢失,与smtp服务器的连接将断开 尺寸太长(超过100k)。我想这是一个超时的问题,因为 如果我的连接真的很快,并且我的脚本设法发送所有数据 在不到2-3秒的时间内,脚本成功运行

因此,我想知道send命令是否有时间/大小限制,以及更改此限制的方法。

我找到了解决方案。 这是一个非常愚蠢的错误。在我的脚本中,我只希望“250”作为数据和数据的结尾 已接受交货。但是附件是用base64编码的,包括数字数据 通常是250倍。
所以我不得不在脚本中将“250”改为“250”。

电子邮件大小为100kb的情况并不少见,2-3秒似乎不足以导致超时。是否可能超出了SMTP的最大行长,即1000个字符(根据RFC821)。遥控器是刚断开连接,还是先发送错误消息?如果它发送错误消息,它是什么?它实际上不发送任何错误消息。终端显示数据传输被截断,等待几秒钟,然后断开连接和脚本。奇怪的是,如果我使用非常快速的连接(然后使用相同的内容)执行相同的操作,脚本将成功结束并发送邮件。如果我在正常速度的连接上多次启动脚本,它总是在内容的不同部分阻塞。此外,如果我尝试通过Telnet手动发送电子邮件,它在某些数据部分也会冻结,但如果我按enter键,它将继续发送数据,直到消息发送。这种情况是发生在只有一个远程主机上,还是发生在多个远程主机上?到目前为止,我尝试的每个远程主机都会发生这种情况。另一方面,如果从命令行(nc smpt.myserver.com 25