我正在开发一个项目,该项目要求我们开发自己的中间SMTP中继来处理一些外发邮件,以便它遵守某些规则。在大多数情况下,我有一切正常运作,但我有一个奇怪的问题似乎没有被SMTP规范解决。我对套接字也不是很熟悉,所以这没有帮助。
根据SMTP规范,传输的每个“行”数据应该由\r\n
终止,就是这样。不幸的是,当一些客户端连接到中继服务器时,它们似乎用= \ r \ n来终止该行。我根本不熟悉这个,我担心简单地截断=以免意外丢失一些数据。有什么方法可以知道我什么时候应该截断这个以及何时不应该这样做?如果它不在SMTP规范中,为什么会出现?我该怎么办呢?