Разрывы строк удаляются из тела письма.C#

Место общения программистов C#
Ответить
Anonymous
 Разрывы строк удаляются из тела письма.

Сообщение Anonymous »

Я генерирую простое электронное письмо, используя класс System.Net.Mail.MailMessage, а тело создаю с помощью StringBuilder. Я перебираю строку[] и каждый раз пытаюсь добавить новую строку. Проблема, с которой я столкнулся, заключается в том, что я не могу каждый раз генерировать одну новую строку. Я могу либо получить два, либо ничего.

Что я пробовал:

Код: Выделить всё

foreach (var message in messages)
{
body.AppendLine(message);
}

foreach (var message in messages)
{
body.Append(message + "\n");
}

foreach (var message in messages)
{
body.Append(message + System.Environment.NewLine);
}
Я также пробовал использовать string.Format().

Для каждого приведенного выше примера я получаю один и тот же результат. Новая строка не создается.

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

Код: Выделить всё

foreach (var message in messages)
{
body.AppendLine(message + System.Environment.NewLine);
}
Почему он это делает и что я могу сделать, чтобы каждый раз получать только одну новую строку?

Обновление:

Итак, я обнаружил, что Outlook и, возможно, Gmail (другие не проверял) на самом деле удаляют некоторые разрывы строк, а не другие. Кто-нибудь знает, почему и как они определяют, что удалить?

Изображение


Подробнее здесь: https://stackoverflow.com/questions/229 ... email-body
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»