Полагаю, вы добавляете в свой StringBuilder без перевода строки, поскольку я только что проверил его, и он прекрасно работает для меня.
Imports System.Text
Module Module1
Sub Main()
Dim sb As New StringBuilder
sb.AppendLine("Line 1")
sb.AppendLine("Line 2")
sb.Append("Line 3" & vbCrLf)
sb.Append("Line 4 without CRLF")
sb.Append("Line 5")
Console.WriteLine(sb.ToString)
End Sub
End Module
Для приведенного выше кода я получаю следующий вывод
Line 1
Line 2
Line 3
Line 4 without CRLFLine 5
Надеюсь, это поможет.
EDIT
Хорошо, поэтому, основываясь на новой информации (об электронном письме), вышеизложенное остается в силе. Если вы добавите к строителю строк с .Append
, вы потеряете или, вернее, не увидите новых строк. Вместо этого вы должны использовать .AppendLine
, который добавит все важные коды CR и LF в конец вашей строки.
Однако меня немного смущает, как вы отправляете электронную почту. Я видел, как это было сделано с веб-страницы раньше, но никогда с vb.net. Отправка электронного письма таким образом почти наверняка заставит вас отправить электронное письмо без перевода строки !!
Могу ли я предложить вам ознакомиться с нижеприведенным предложением Microsoft о том, как отправлять электронную почту из Visual Basic с использованием пространства имен System.Web.Mail. Это не сложно, и вы получите намного больший контроль над электронной почтой, которую вы отправляете таким образом ...
Пример Microsoft