何时发送SMTP状态“;“500行太长”;在数据阶段?

何时发送SMTP状态“;“500行太长”;在数据阶段?,smtp,rfc,Smtp,Rfc,我目前正在写一篇文章 中定义的一个SMTP状态代码500行太长。无论何时违反,都必须返回此状态代码 与其他SMTP状态代码一样,此状态代码必须在“客户端发送下一个命令之前”返回给客户端。对于无状态命令,如mailfrom和RCPT to,执行此操作很容易 。。。但是,当客户端发送了数据时,SMTP服务器将过渡到“接收数据”阶段。。。何时是返回500行过长状态代码的适当时机 A) 收到太长的线路后立即发送? 这导致了 A1)继续接受行,直到,或 A2)立即退出数据阶段,并返回到“接收命令”状态 或

我目前正在写一篇文章

中定义的一个SMTP状态代码
500行太长
。无论何时违反,都必须返回此状态代码

与其他SMTP状态代码一样,此状态代码必须在“客户端发送下一个命令之前”返回给客户端。对于无状态命令,如
mailfrom
RCPT to
,执行此操作很容易

。。。但是,当客户端发送了
数据时,SMTP服务器将过渡到“接收数据”阶段。。。何时是返回
500行过长
状态代码的适当时机

A) 收到太长的线路后立即发送?
这导致了

A1)继续接受行,直到
,或
A2)立即退出
数据
阶段,并返回到“接收命令”状态

B) 数据阶段结束后,使用


我已经搜索了好几个星期的答案,甚至搜索了“SMTP服务器状态机”,但我找不到任何关于(A)或(B)是否是正确答案的明确指示。如果是(A),是执行(A1)还是(A2)

我的理解是,在发回任何状态代码之前,您必须等待
终止符。具体见第4.2.5节。哪一种暗示了这一点(但没有真正说明)


服务器端的操作由您决定,但有意义的是,放弃客户端的任何进一步输入,只需等待终止符,这样您就可以告诉他们他们试图发送的任何内容都未被接受。

我的理解是,在发回任何状态码之前,您必须等待
终止符。具体见第4.2.5节。哪一种暗示了这一点(但没有真正说明)


您在服务器端的操作由您决定,但有意义的是放弃来自客户端的任何进一步输入,只需等待终止符,这样您就可以告诉他们他们试图发送的内容未被接受。

Cool!我也有一个线索,等待直到终结者是正确的事情做。。。但该死的如果我能找到任何人真的这么说。。。太酷了!我也有一个线索,等待直到终结者是正确的事情做。。。但该死的如果我能找到任何人真的这么说。。。除息的