我试图发送Java中的电子邮件,但是当我在Outlook中阅读电子邮件的正文中,它摆脱了我所有的换行的。 我把\ n在线路的两端,但有一些特别的东西,我需要比做其它? 接收器总是会使用Outlook。
我发现在microsoft.com的网页说,有一个在Outlook中“删除断行”“功能”那么,这是否意味着没有解决要解决的是,除了取消选中该设置?
谢谢
我试图发送Java中的电子邮件,但是当我在Outlook中阅读电子邮件的正文中,它摆脱了我所有的换行的。 我把\ n在线路的两端,但有一些特别的东西,我需要比做其它? 接收器总是会使用Outlook。
我发现在microsoft.com的网页说,有一个在Outlook中“删除断行”“功能”那么,这是否意味着没有解决要解决的是,除了取消选中该设置?
谢谢
您需要使用\r\n
作为解决方案。
我刚刚在战斗这个今天。 让我们把去除多余的换行符的行为“的延续。” 一个小实验发现以下行为:
请注意,我想这一切与Outlook 2007因人而异。
所以,如果有可能,结束与一个句子终止标点,一个标签,甚至三个空格所有子弹的物品。
只是换行(CRLF)之前将一个(或两个?),制表符(\ t)时,您可以强制Outlook中的换行符。
例:
This is my heading in the mail\t\n
Just here Outlook is forced to begin a new line.
这似乎在Outlook 2010中的工作,请测试,如果这个工程上的其他版本。
另请参见展望自动清洗我换行和搞砸了我的电子邮件格式
Microsoft Outlook 2002和以上默认将删除短信“多余的换行符” (kb308319) 。 即,前景似乎简单地忽略在短信线进料和/或回车序列,运行所有的线到一起。
如果你想编写代码,会自动生成,以通过使用Outlook的人来阅读电子邮件信息这可能会导致问题。
例如,假设你要提供的单独的一行,清晰,这样每个信息独立的部分:
交易需要注意!
PostedDate:2009年1月30日
金额:$ 12,222.06
TRANSID:8gk288g229g2kg89
邮政编码:91543
您的Outlook收件人将看到所有一起捣烂的信息,如下所示:
交易需要注意! PostedDate:2009年1月30日金额:$ 12,222.06 TRANSID:8gk288g229g2kg89邮编:91543
似乎没有成为一个简单的解决方案。 替代方案是:
我有同样的问题,并找到了解决办法。 试试这个: %0D%0A
增加一个换行符。
我已经使用HTML换行,而不是“\ n”。 它工作得很好。
添加 “\ t \ r \ n”(\ t表示TAB),而不是 “\ r \ n” 为我上的Outlook 2010。 注:在每行的末尾添加3个空格也在做同样的事情,但看起来像一个编程劈!
您需要发送HTML电子邮件。 随着<br />
在电子邮件S,你将永远有你的换行符。
我一直努力与所有上述解决方案,并没有什么帮助这里的,因为我在“text / html的”在我的电子邮件库格式结合使用一个字符串变量(从JTextPane的纯文本)。
因此,解决这个问题的方法是使用“text / plain的”,而不是“text / html的”,没有必要在所有更换返回字符:
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(message, "text/plain");
放于文本<pre>
标签和前景将格式化并正确地显示的文字。
我在HTML CSS机身内嵌定义它喜欢:
CSS:
pre {
font-family: Verdana, Geneva, sans-serif;
}
我定义的字体家庭不得不字体设置。
HTML:
<td width="70%"><pre>Entry Date/Time: 2013-09-19 17:06:25
Entered By: Chris
worklog mania
____________________________________________________________________________________________________
Entry Date/Time: 2013-09-19 17:05:42
Entered By: Chris
this is a new Worklog Entry</pre></td>
因为它是一个查询,只有百分之转义字符工作,意味着%0A给你一个换行符。 例如,
<a href="mailto:someone@gmail.com?Subject=TEST&amp;body=Hi there,%0A%0AHow are you?%0A%0AThanks">email to me</a>
诀窍是使用encodeURIComponent()
从JS功能:
var formattedBody = "FirstLine \n Second Line \n Third Line";
var mailToLink = "mailto:x@y.com?body=" + encodeURIComponent(formattedBody);
结果:
FirstLine
SecondLine
ThirdLine
对于Outlook 2010及更高版本,使用\ t \ n,而不是使用\ r \ n。
解决了我的申请
在我的申请,我试图发送一封电子邮件,其消息体是由在文本区域的用户输入。 当邮件被发送,Outlook会自动删除换行符由用户输入。
例如,如果用户输入
亚达夫
马赫什
Outlook中显示它
YadavMahesh
分辨率:我改变了换行符“\ r \ n”和“\看齐”(记得RTF代码“\看齐”末打空间),换行符restrored。
干杯,
马赫什
如果你能在添加“” 在每行的结尾(点)字符,这似乎阻止Outlook破坏文本格式。
试试这个:
message.setContent(new String(body.getBytes(), "iso-8859-1"),
"text/html; charset=\"iso-8859-1\"");
问候,穆罕默德·拉苏尔Javeed
尝试\r\c
,而不是\n
。
编辑:我觉得@Robert威尔金森说得对。 \r\n
。 内存只是是不是它曾经是。
该\n
很大程度上为我们工作,但展望有时确实承担起自己作为你说的删除换行符。
我有我试了一个很好的解决方案,它只是在像下面的示例行的末尾添加CHAR(13):
Dim S As String
S = "Some Text" & Chr(13)
S = S + "Some Text" & Chr(13)
如果消息是文本/无格式使用,\ r \ n应工作; 如果消息类型是文本\ HTML中,使用< p/>
这一定是对你有帮助。 试试 “%0A” 而不是 “\ n”。 真正的来源是在这里。
您需要添加“%0A”在任何你需要在你的代码的新线。 你的情况
abcParameters.put(defConstants.REPORT_MESSAGE, "Invalid file sent by tt. Hence ffgghh was unable
to process it : " + s+ "%0A" +e.getMessage().toString());
我还与纯/文本邮件类型这个问题。 此前,我用“\ n \ n”但有两个线路中断。 然后,我用“\ t \ n”和它的工作。 我使用StringBuffer
在Java中追加内容。
内容得到了印在Outlook 2010中的邮件下一行。
我也有这个问题与纯/文本邮件type.Form饲料\f
为我工作。
有时候,你必须输入\ r \ n两次强制Outlook做休息。
这将添加一个空行,但所有的行都会有突破。
如果工作需要可以与出HTML编码格式的文本进行。 可以用下面的那个场景中轻松实现对飞创建div元素 ,并使用<pre></pre>
HTML元素保持格式。
var email_body = htmlEncode($("#Body").val());
function htmlEncode(value) {
return "<pre>" + $('<div/>').text(value).html() + "</pre>";
}
\ r \ n将无法正常工作,直到你设定的身型为文本。
message.setBody(MessageBody.getMessageBodyFromText(msg));
BodyType type = BodyType.Text;
message.getBody().setBodyType(type);
不知道是否是上面所提到的,但展望有一个设置名为复选框,“以纯文本格式邮件中删除多余的换行符”,并默认选中。 它坐落在一个不同的斑点为不同版本的Outlook,但在2010年进入“文件”选项卡。 选择“选项=>邮件”向下滚动到“消息格式”取消选中的复选框。