【问题标题】:Java mail API - Loosing formatting in outlookJava 邮件 API - 在 Outlook 中丢失格式
【发布时间】:2016-02-25 21:13:33
【问题描述】:

我已经编写了一个 java 邮件 api 代码来自动向利益相关者发送一个 html 状态邮件。电子邮件正文包含一个表格和 6 个单元格。我已经定义了表格宽度并设置了表格中每个单元格的宽度。它看起来像一个当我在浏览器中打开源代码时,html 格式正确。但是当我在 Outlook 中打开它时,表格没有按照源代码中设置的宽度显示。

有人能帮我找出问题的根本原因吗

以下是我的 html 消息 -

<HTML> 
<HEAD> 
<STYLE> 
TABLE.TABLESTYLE{border:inset 1.0pt;width:900;table-layout:fixed} 
TR.HEADERSTYLE{height:40pt;font-family:Verdana;font-weight:bold;font-   size:10pt;text-align:center;background:#99DAFF} 
TR.TRSTYLE1{height:30pt} 
TR.TRSTYLE0{height:30pt} 
TD.TDSTYLE{border:outset 1.0pt} 
TD.TDSTYLE1{font-family:Verdana;font- size:10pt;background:#FFFFFF;border:outset 1.0pt;width:100pt;text-align:center} 
TD.TDSTYLE0{font-family:Verdana;font-   size:10pt;background:#F3F3F3;border:outset 1.0pt;text-     align:center;overflow:hidden; text-overflow:ellipsis} 
TD.TDSTYLE2{font-family:Verdana;font-size:8pt;font- weight:bold;width:200pt;background:#D1CDCD} 
TD.TDSTYLE3{font-family:Verdana;font- size:8pt;width:450pt;border:none;border-bottom:solid #E9EBF0 1.0pt} 
 </STYLE> 
 </HEAD> 
<BODY> 
 <SPAN STYLE=font-family:Verdana;font-weight:bold;font-size:12pt;>Automation - Test Execution Details</SPAN> 
<HR><BR> 
<TABLE> 
<TBODY> 
<TR STYLE='height:12.0pt'> 
<TD CLASS=TDSTYLE2>Executed By</TD> 
 <TD CLASS=TDSTYLE3>libinsebastian</TD> 
 </TR> 
 <TR STYLE='height:12.0pt'> 
 <TD CLASS=TDSTYLE2>Executed At</TD> 
 <TD CLASS=TDSTYLE3>DTDVD0001311PR</TD> 
</TR> 
<TR STYLE='height:12.0pt'> 
<TD CLASS=TDSTYLE2>Total Scenarios Count</TD> 
<TD CLASS=TDSTYLE3>1</TD> 
</TR> 
<TR STYLE='height:12.0pt'> 
<TD CLASS=TDSTYLE2>Total Pass Count</TD> 
<TD CLASS=TDSTYLE3>13</TD> 
</TR> 
<TR STYLE='height:12.0pt'> 
<TD CLASS=TDSTYLE2>Total Fail Count</TD> 
<TD CLASS=TDSTYLE3>14</TD> 
</TR> 
<TR STYLE='height:12.0pt'> 
<TD CLASS=TDSTYLE2>Test Evidence</TD> 
<TD CLASS=TDSTYLE3> 
<a    href=file:///S:\Data\>View Test Evidence</a> 
 </TD></TR> 
</TBODY> 
</TABLE> 
<TABLE CLASS=TABLESTYLE> 
<TBODY> 
<TR CLASS=HEADERSTYLE> 
<TD CLASS=TDSTYLE style="width:100">SL.NO</TD> 
<TD CLASS=TDSTYLE style="width:200">Test Scenario</TD> 
<TD CLASS=TDSTYLE style="width:300">Test Case</TD> 
<TD CLASS=TDSTYLE style="width:100">Environment</TD> 
<TD CLASS=TDSTYLE style="width:100">Status</TD> 
<TD CLASS=TDSTYLE style="width:100">Date</TD> 
<TR CLASS=TRSTYLE0> 
<TD CLASS=TDSTYLE0 style="width:100">1</TD> 
<TD CLASS=TDSTYLE0 title=testsitequalification - comptel     style="width:200;text-align:left">testsitequalification - comptel</TD> 

文本 ST1 通过 2015-11-23 下午 8:54:51

问候 利宾塞巴斯蒂安

【问题讨论】:

  • 不提供代码,我们只能猜测。请发布代码,也许有人可以帮助您。
  • 在问题中添加源代码

标签: java html outlook jakarta-mail


【解决方案1】:

您可能忘记在 MimeMessage 对象上设置正确的 mime 类型。

您需要使用text/html 而不是text/plain,这是默认的mime 类型。

message.setContent(someHtmlMessage, "text/html; charset=utf-8");

HTML 不应包含 &lt;html&gt;&lt;head&gt;&lt;body&gt; 标记。

【讨论】:

    【解决方案2】:

    邮件阅读器通常不支持浏览器支持的全部 html。如果消息显示为 html 而不仅仅是纯文本,特别是如果您使用的是 css,那么这很可能是问题所在。您可能必须简化您在消息文本中使用的 html。请参阅此网站以获取css support in email clients

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 2013-03-23
      • 2020-07-21
      • 2014-09-03
      相关资源
      最近更新 更多