2013-04-03 3 views
0

Я использую свойство Enviroment.NewLine для разделения строк строки символов, которые я буду отправлять по электронной почте через smtpclient. Я пропущу часть объявления почтового сообщения.Enviroment.NewLine возвращает пустое пространство

Например:

Dim sb as StringBuilder 
sb.Append("This is my first line") 
sb.Append(Enviroment.NewLine) 
sb.Append("This is my second line") 

Когда я делаю:

myMailMessage.Body = sb.ToString 

Нет линий разделены. Я отлаживал и замечал, что Enviroment.NewLine возвращается »«

Я не понимаю, почему это происходит, предполагается, что он вернет линию прерывания.

Большое спасибо.

+0

Environment.NewLine не знает, что происходит в теле сообщения – Paparazzi

ответ

3

Вместо Enviroment.NewLine положить <br/>. И проверьте электронную почту в почтовом клиенте.

+2

Если вы используете ''
, то убедитесь, что 'myMailMessage.IsBodyHtml' установлен в' true'. – keyboardP

+0

Спасибо. Я решил проблему. Вы все правы. Этот код, который я использую, прав, но я должен установить IsBodyHtml = false. Еще раз спасибо. –

1
  1. Enviroment.NewLine может отображаться как пустая строка в отладчике (поскольку нет символов для печати).
  2. Enviroment.NewLine является платформой для платформы, на которой выполняется ваш код, а не на платформе устройства чтения электронной почты. Я бы просто использовал "\r\n", поскольку он охватывает оба: * nix и Windows. Если ваш адрес электронной почты не является текстовым, вы можете использовать <br/>.
+0

Спасибо. Я решил проблему. Вы все правы. Этот код, который я использую, прав, но я должен установить IsBodyHtml = false. Еще раз спасибо. –

Смежные вопросы