Ошибка почты 550 Превышена максимальная длина строки (RFC 5322 2.1.1)

У меня есть реселлерский хостинг-аккаунт, содержащий пару доменов. Один из наших клиентов недавно жаловался на то, что электронные письма не отправляются. Они получают ошибку 550 Превышение максимальной длины строки (RFC 5322 2.1.1).

После некоторого поиска в Google выяснилось, что максимальная длина может содержать только 998 символов (+ разрывы строк). И после проверки файла .eml электронной почты я могу найти две строки, каждая из которых содержит более 1000 символов. Так что, действительно, проблема именно в этом.

Однако я попытался связаться со своим хостинг-провайдером и попытаться определить, где именно находится проблема на архитектурном уровне и как ее можно предотвратить. Но, похоже, они сами совершенно невежественны (или не хотят в этом признаваться).

Наш клиент, у которого возникли проблемы, использует очень специфическое программное обеспечение (Bouwsoft), с помощью которого он управляет своей электронной почтой и откуда отправляет свои электронные письма. Bouwsoft использует настройки IMAP нашего почтового сервера реселлера, чтобы получать письма и отправлять электронные письма. Так что все идет через почтовый сервер реселлера.

Таким образом, главный вопрос сводится к следующему: отвечает ли почтовый сервер нашего хостинг-провайдера за разделение длинных строк в электронном письме, чтобы они не содержали более 1000 символов, или это ответственность программного обеспечения, которое отправляет электронные письма (Bouwsoft в этом примере)?


person Dennis    schedule 28.09.2020    source источник


Ответы (1)


Отправитель сообщения электронной почты несет ответственность за соблюдение ограничений, указанных в RFC. Сами почтовые серверы могут быть снисходительны и с радостью принимать вещи, превышающие эти ограничения, или они могут быть строгими и отвергать это.

Почтовый сервер не несет ответственности за переписывание вашей электронной почты в соответствии с требованиями различных RFC, связанных с SMTP и электронной почтой. Таким образом, вы, как отправитель электронного письма, должны следить за тем, чтобы длина вашей строки не превышала 998 символов (рекомендуемая длина строки составляет 76 символов!).

Я предполагаю, что наиболее часто используемые SMTP-библиотеки должны быть способны делать это для вас (хотя они обычно требуют, чтобы в такой длинной строке был хотя бы какой-то пробел до достижения 998 символов, чтобы иметь точку разрыва), но возможно, что вы должны сделать тяжелую работу самостоятельно.

person Mark Rotteveel    schedule 28.09.2020
comment
Благодарю за ваш ответ! Под отправителем вы имеете в виду человека, который на самом деле печатает электронное письмо, или программу, отправляющую электронное письмо? - person Dennis; 28.09.2020
comment
@ Деннис Я имею в виду программу, отправляющую электронное письмо. В наиболее распространенных решениях отправляющее программное обеспечение будет использовать кодирование передачи с возможностью печати в кавычках и вставлять программные разрывы строк. - person Mark Rotteveel; 28.09.2020