首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaMail -引用可打印删除。(点)在新行上

JavaMail -引用可打印删除。(点)在新行上
EN

Stack Overflow用户
提问于 2015-04-23 14:42:09
回答 1查看 1.1K关注 0票数 1

我正在使用Java创建电子邮件,它几乎可以工作,但我面临的问题是,我不知道如何解决它。

内容传输-编码引用-打印打破了我的身体在很多行,每一行77个字符,问题发生时,下一行开始,第一个字符是。(点)

这方面的一个例子:

代码语言:javascript
复制
  <table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" align=3D"center">
   <tbody>
    <tr>
     <td><br /><font color=3D"#666666" face=3D"Arial, Helvetica, sans-serif=
" size=3D"1">Lala n&atilde;o leleler lala lalalaa, <a href=3D"http://t.laiu=
com.ar/TestsTrackings/op.aspx?Osa8Br5zxNpqrv0AtVqBIiGIGG0CPNrUoxbqY7WYcGhP7=
LrlPvlBijtUAlN+b07u4cgghR7erUuf
P9PWGu7YtTkb51txcLYb9+6jzjBtWhf/L8Ai/gdZjrXfmIamviwsffMsjXa8mtnQm8n/XXkWuDw=
8
gW6EpcofAgSMsqpqmqxv85MRVG2vIFuD9v6lFD1H+dMk0RtR/cMhg/zgtjdIym6pig8sSTDT">c=
lalal lala</a>.</font><br /></td>
    </tr>
   </tbody>
  </table>

在网上,我有一个以http://t.laiu....开头的链接,在下一行,它只是删除了我的点。当用户收到电子邮件时,他会得到一个类似于t.laiucom.ar...而不是t.laui.com.ar.的链接。

有人知道我该怎么避免吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-24 12:59:49

在注释中,您确认使用Message.writeTo创建了一个文件,并且该文件中存在句点。

所以问题不是javamail或者这里引用的可打印编码。

根据rfc5321 (或rfc821 2821/rfc821 821),拾取文件的服务似乎已经期望它适合SMTP传输,这意味着行开始处的周期必须加倍。Message.writeTo不会直接这样做,因为它不关心使用的传输,它只是将消息写入流。

通常,当通过javax.mail.Transport发送到SMTP时,javamail通过将输出流包装在SMTPOutputStream中来处理这个问题,所以一切都很好。但是,通过直接使用Message.writeTo,您将在较低的级别上操作,并且需要处理正确的格式化输出,以便由收件服务自己接受它。

这意味着你需要在一行的开头用两个点来代替点。要做到这一点,您可以使用上面提到的SMTPOutputStream包装器类(但它不是公共/文档API),或者编写您自己的流包装器。或者任何其他方式来修改你喜欢的生成的数据.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29826833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档