тут кто-то где-то нарушает спецификацию
Александр Петросян (PAF) 16.01.2006 10:55
в SMTP спецификации написано, что принимаемое к доставке письмо должно быть в конце ограничено "<начало строки>точка<enter>".
там же написано, что если у вас в начале строки точка, необходимо её удвоить, чтобы SMTP сервер не воспринял её, как конец сообщения.
вы говорите, что портятся "некоторые" сообщения, отсылаемые в одном цикле.
думаю, в цепочке серверов, доставлявших испортившиеся сообщения (между собой почтовые сервера обмениваются тоже по протоколу SMTP; этот протокол не только между вами и вашим первым почтовым сервером), какой-то сервер не придерживается этого правила
попадётся мне "<начало строки>..", надо его преобразовать к ".".
т.е. какой-то сервер нарушает спецификацию.
диагноз: перефразируйте так, чтобы этих точек в начале строки не было.
до кучи:
многие почтовые сервера принудительно ограничивают длину строки.
они вставляют разрыв строки, а в начало новой строки пишут !.
т.е.
было:
aaaaaaaabbb<много>bbbbbbbbbbb<enter>
стало
aaaaaaaabbb<enter>
!bbbbbbbbbbbb<enter>
для текстовых писем это ещё небольшое зло (хотя тоже имеет смысл его иметь в виду),
для html писем это может быть катастрофично.