Я работаю над проектом, который требует от нас разработки собственного промежуточного ретранслятора SMTP для обработки некоторой исходящей почты, чтобы она соответствовала определенным правилам. По большей части у меня все работает, но у меня возникла странная проблема, которая, похоже, не решена в спецификации SMTP. Я не очень знаком с сокетами, так что это не помогает.
В соответствии со спецификацией SMTP каждая «строка» данных, которые передаются, должна заканчиваться на \r\n
и все. К сожалению, когда некоторые клиенты подключаются к серверу ретрансляции, кажется, что они заканчивают строку с = \ r \ n. Я совсем не знаком с этим, и я беспокоюсь о том, чтобы просто обрезать =, чтобы я случайно не потерял некоторые данные. Есть ли какой-нибудь способ узнать, когда мне следует это усекать, а когда нет? Почему это там, если это не в спецификации SMTP? Что мне с этим делать?