我正在尝试用Java发送电子邮件,但当我在Outlook中阅读电子邮件的正文时,它已经摆脱了我的所有换行符.我把\n放在了行的末尾但除了那之外我还需要做些什么吗?接收器总是使用Outlook.
我在microsoft.com上发现了一个页面,其中显示Outlook中有一个"删除换行符""功能",这是否意味着除了取消检查该设置之外,没有其他方法可以解决这个问题?
谢谢
我有一个文本,如"你好,\ r \n这是测试\ r \n谢谢"我正在使用MailMessage类发送邮件.我将"IsBodyHtml"属性设置为false.问题是我收到的邮件没有换行符.你能让我知道我错过了什么吗?
我正在调用以下代码:
public static void SendMessage(string sender, string recipient,string subject,string body)
{
var message = new MailMessage(sender, recipient, subject, body);
_smtpClient.Send(message);
}
Run Code Online (Sandbox Code Playgroud)
消息正文中有换行符,也就是Environment.NewLine,但是当我在Outlook中打开消息时,它们不在那里.我错过了什么?
我正在使用MailMessage和SmtpClient从ASP.NET发送电子邮件.我想介绍一些换行符,但没有以下工作:
sbBody.Append("<table width='100%'><tr><td></br></br>");sbBody.Append("<table width='100%'><tr><td>\r\n\r\n");sbBody是一个StringBuilder,我最后用它来设置MailMessage的主体: mailMessage.Body = sbBody.ToString()
我在这里失踪了什么?我在Outlook中查看电子邮件,当然我将IsBodyHtml设置为true.
谢谢你的时间.
编辑:解决了,这是一个语法错误,</br>而不是<br/>
我正在使用System.Net.Mail.MailMessage该类生成一个简单的电子邮件,并使用StringBuilder.我正在循环string[]并尝试每次添加一个新行.我遇到的问题是我似乎每次都无法生成一个新行.我可以得到两个或没有.
我尝试过的:
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);
}
Run Code Online (Sandbox Code Playgroud)
我也试过了string.Format().
对于上面的每个例子,我得到相同的结果.没有生成新行.
但是,当我尝试以下操作时,我得到了预期的结果.中间有空行的新行.
foreach (var message in messages)
{
body.AppendLine(message + System.Environment.NewLine);
}
Run Code Online (Sandbox Code Playgroud)
为什么要这样做,我该怎么办才能每次只获得一条新线?
更新:
所以我发现Outlook和可能的Gmail(没有测试过其他人)实际上是删除了一些换行而不是其他换行符.有谁知道他们为什么或如何确定要删除的内容?
