“Заключенный в кавычки - печатаемая строка дольше, чем 76 символов” предупреждение при посылании электронного письма HTML

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

6
задан Chris Roberts 12 September 2008 в 10:31
поделиться

2 ответа

Заключенный в кавычки печатаемый разворачивает символы на 8 битов до "= {ШЕСТНАДЦАТЕРИЧНЫЙ Код}", таким образом делая сообщения дольше. Возможно, Вы просто поражаете этот предел?

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

Или Вы просто кодируете электронную почту Base64 - весь почтовый клиент может обработать это.

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

4
ответ дан 17 December 2019 в 02:35
поделиться

Это ошибка в реализации кодировки 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 символов перед кодировкой , если это реализовано правильно.

2
ответ дан 17 December 2019 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: