Ограничения на идентификатор сообщения SMTP?

Существуют ли ограничения на длину и / или формат идентификаторов сообщений SMTP? Т.е. как долго они могут быть и разрешены только определенные символы? (Я планирую использовать только ASCII, но боюсь, что могут быть даже запрещенные символы ASCII.)

RFC822 определяет это, но есть ли обновленные RFC или общие аспекты реального мира (например, общие ошибки в почтовом программном обеспечении), которые следует учитывать?

Ответов (2)

Решение

Обновленный RFC - RFC2822.

Что касается разрешенных символов, это в основном

::alpha::|::digit::|[!#$%&'*+-/=?^_`{}|~.]

(Также можно цитировать литералы).

Он должен содержать @, разделяющий «локальную часть» и «доменную часть». Он ДОЛЖЕН быть уникальным в глобальном масштабе .

Если вы ищете пример, вы можете посмотреть код функции библиотеки Python email.utils.make_msgid .