Предупреждение «Печатаемая строка в кавычках длиной более 76 символов» при отправке электронного письма в формате HTML

StackOverflow https://stackoverflow.com/questions/58630

  •  09-06-2019
  •  | 
  •  

Вопрос

В своем приложении VB.NET я написал код для отправки электронного письма в формате HTML (в данном случае — напоминание о потерянном пароле).

Когда я проверяю электронное письмо, оно попадает в спам-фильтр.Одна из причин, по которой он имеет плохие оценки, связана со следующей проблемой:

MIME_QP_LONG_LINE  RAW: Quoted-printable line longer than 76 chars

Я просмотрел источник электронного письма и разбил каждую строку длиной более 76 символов на две строки с CR+LF между ними, но это не решило проблему.

Может кто-то указать мне верное направление?

Спасибо!

Это было полезно?

Решение

В цитируемой печатной форме 8-битные символы расширяются до «={HEX-Code}», что делает сообщения длиннее.Может быть, вы просто достигли этого предела?

Вы пытались разбить сообщение, скажем, на 70 символов?Это должно обеспечить место для пары символов в строке.

Или вы просто закодируете электронное письмо с помощью Base64 — с этим справится любой почтовый клиент.

Или вы просто устанавливаете Content-Transfer-Encoding на 8 бит и отправляете данные в незакодированном виде.В наши дни я не знаю ни одного почтового сервера, который не мог бы обрабатывать 8-битные байты.

Другие советы

Это ошибка в реализации кодировки Quoted-Printable в System.Net.Mail.MailMessage, которая существует уже давно, но, по-видимому, сейчас исправлена, начиная с .Net 4 Beta 2.

http://connect.microsoft.com/VisualStudio/feedback/details/156052/mailmessage-body-encoding-quoted-printable-violates-rfcs-soft-line-breaks-requirements

Одним из обходных путей является использование вместо этого кодировки Base64 (хотя в противном случае было бы нецелесообразно отправлять часть MIME в виде простого текста в нечитаемой человеком кодировке, подобной этой).Просить пользователя класса вручную разделить строки сообщения перед его отправкой не является универсальным решением, поскольку измененное сообщение — это не то, что он хотел отправить (например,она может включать ссылку длиной более 76 символов, поэтому ее нельзя разделить).Quoted-Printable может обрабатывать сообщения со строками длиной более 76 символов. до кодирование, если оно реализовано правильно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top