Solución:
Sé que la pregunta es antigua y se marcó como respondida, pero pensé en agregar esto aquí en caso de que alguien más se encuentre con esto, ya que es el primer resultado en Google para StringBuilder.AppendLine()
no funciona.
Tuve el mismo problema y resultó ser un problema de Outlook. Outlook cambia el formato de los correos electrónicos basados en texto eliminando saltos de línea adicionales. Puede hacer clic en “Eliminamos saltos de línea adicionales en este mensaje -> Restaurar saltos de línea” en el encabezado del correo electrónico individual, o cambiar la configuración que hace este pequeño truco desagradable "Options->Mail->Message Format->Remove extra line breaks in plain text messages"
La solución alternativa (ya que no puede controlar la configuración en todos los posibles objetivos de correo electrónico) que encontré aquí Formato del boletín y el problema Eliminar saltos de línea adicionales. Básicamente, si agrega dos caracteres de espacio en blanco al comienzo de cada línea, Outlook no volverá a formatear el correo electrónico.
Aquí hay un método de extensión para ayudar (el nombre del método es un poco detallado, así que cámbielo a su gusto :))
namespace System.Text
{
public static class StringBuilderExtensions
{
public static void AppendLineWithTwoWhiteSpacePrefix(this StringBuilder sb, string value)
{
sb.AppendFormat("{0}{1}{2}", " ", value, Environment.NewLine);
}
public static void AppendLineWithTwoWhiteSpacePrefix(this StringBuilder sb)
{
sb.AppendFormat("{0}{1}", " ", Environment.NewLine);
}
}
}
En lugar de
sbUser.AppendLine();
Intenta usar
sbUser.Append(Environment.NewLine);
No tengo idea de por qué esto funciona …
usar Environment.NewLine
sbUser.AppendLine("Please find below confirmation of your registration details. If any of these details are incorrect, please email [email protected]");
sbUser.AppendLine(Environment.NewLine);
sbUser.AppendLine("Selected event : " + ContentPage.FetchByID(int.Parse(ddlEvent.SelectedValue)).PageTitle);
sbUser.AppendLine("Date of event : " + thisEvent.EventStartDate.ToString("dd MMM yyyy"));
sbUser.AppendLine("==============================================================");
sbUser.AppendLine(Environment.NewLine);