如何将换行符放入ant邮件任务部分?到目前为止,我已经尝试了几乎所有可能的事情,例如:
<property name="break" value="line break : ${line.separator} \\n\\n"/>
<echo message="${break}"/>
<mail mailhost="" mailport="25" subject="INSTALL BASE on WINDOWS " messagemimetype="text/html">
<from name="The automation system" address=""/>
<replyto address=""/>
<to address=""/>
<message>
build ${LATEST} installed successfully on Windows - silent mode.
${break}
${break}
</message>
</mail>
但它不起作用。
答案 0 :(得分:5)
您正尝试使用messagemimetype="text/html"
发送html邮件。渲染html时,任何空格的运行都会压缩到一个空格中,因此当您查看此消息时,它将全部显示在一行中。换行符仍然存在,请尝试在邮件阅读器中查看邮件来源。
由于您正在创建HTML邮件,因此添加换行只需将html <br>
元素添加到邮件中即可。请注意,在将消息嵌入构建文件的xml中时,您需要转义<
个字符:
<message>
build ${LATEST} installed successfully on Windows - silent mode.<br>
Another line here<br>
Last line
</message>
或者将整个消息包装在CDATA块中:
<message><![CDATA[
build ${LATEST} installed successfully on Windows - silent mode.<br>
Another line here<br>
Last line
]]></message>
由于这是构建脚本生成的消息,因此我假设收件人是开发人员,您可能希望将消息作为纯文本发送。根据我的经验,大多数开发人员更喜欢纯文本电子邮件,并且可能让电子邮件阅读器设置为根本不显示html消息(或者可能是从无法处理html的客户端读取邮件,如命令行阅读器)。如果您想这样做,只需删除messagemimetype="text/html"
即可。然后,新行将按预期显示。
答案 1 :(得分:1)
请删除mimetype属性并尝试使用:
<message>
Test... Test...
</message>
这应该让你去。如果你确实想使用html属性,那么你最好使用正确的编码传递html文件。 那里元素将起作用。