蚂蚁邮件消息正文中的换行符

时间:2011-09-28 19:16:21

标签: email ant

如何将换行符放入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>

但它不起作用。

2 个答案:

答案 0 :(得分:5)

您正尝试使用messagemimetype="text/html"发送html邮件。渲染html时,任何空格的运行都会压缩到一个空格中,因此当您查看此消息时,它将全部显示在一行中。换行符仍然存在,请尝试在邮件阅读器中查看邮件来源。

由于您正在创建HTML邮件,因此添加换行只需将html <br>元素添加到邮件中即可。请注意,在将消息嵌入构建文件的xml中时,您需要转义<个字符:

<message>
  build ${LATEST} installed successfully on Windows - silent mode.&lt;br>
  Another line here&lt;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... &#10;Test...
  </message>

这应该让你去。如果你确实想使用html属性,那么你最好使用正确的编码传递html文件。 那里元素将起作用。