У меня есть журнал простой SMTP-транзакции. (Это немного длинновато, откройте его здесь). Он показывает обмен низкоуровневыми рукопожатиями, такими как HELO
, MAIL
и т. Д.
Когда сервер, который должен получать электронное письмо, готов принять данные электронной почты, он отправляет следующее (строка 12 в журнале):
RawSmtp Information: 0 : << 354 Start mail input; end with <CRLF>.<CRLF>
Однако конец передачи немного сбивает с толку (строки 74/75):
RawSmtp Information: 0 : >> cannot foresee
RawSmtp Information: 0 : >>
RawSmtp Information: 0 : << 250 OK
что при просмотре в блокноте выглядит так:
Однако код просто написан так:
WriteResponse(writer, "354 Start mail input; end with <CRLF>.<CRLF>");
string line;
while ((line = reader.ReadLine()) != null && line != ".")
{
//do stuff
}
Это стандарт? Я имею в виду отправить что-то вроде <CRLF>.<CRLF>
и проверять только точку (_7 _) ...?