нежелательный разрыв строки в заголовке письма при использовании email.mime - PullRequest
1 голос
/ 14 февраля 2012

Я играю с SMTP и использую email.mime для предоставления структуры заголовка.По какой-то причине при попытке добавить заголовок, который превышает определенную длину, в строку заголовка добавляется разрыв строки.

Например,

from email.mime.text import MIMEText
message = 'some message'
msg = MIMEText(message)
msg.add_header('some header', 'just wondering why this sentence is continually cut in half for a reason I can not find')

print msg['some header']
print msg

print msg ['some header'] печатает: -

some header: just wondering just wondering why this sentence is continually cut in half for a reason I can not find

print msg print: -

some header: just wondering why this sentence is continually cut in half for a
 reason I can not find

Одна вещь, которую я обнаружил, это то, что длина, на которой он обрезается, является комбинацией заголовка заголовка и его значения.Поэтому, когда я закорачивал «некоторый заголовок» на «некоторые», возвращаемая строка меняется на «после» вместо «до».

Это не просто ширина моей страницы просмотра :), она фактически отправляет письмо с новымсимвол строки в заголовке письма.

Есть мысли?

1 Ответ

5 голосов
/ 14 февраля 2012

Это правильное поведение, и это пакет email, который делает это (а также большую часть кода, генерирующего электронную почту). Сообщения RFC822 (и все наследники этого стандарта) имеют способ продолжения заголовков, поэтому онине должно быть одной строкой.Рекомендуется складывать заголовки подобным образом, а символ табуляции, который выравнивает остальную часть тела заголовка, означает, что заголовок продолжается.

...