[英]Some CSS styles not applied in html when it as a mail using javax mail
I am trying to send a formatted html as a mail using Javax mail API. 我正在尝试使用Javax邮件API将格式化的html作为邮件发送。 The mail util-code used is
使用的邮件实用程序代码为
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setHeader("Auto-Submitted", "auto-generated");
message.setReplyTo(InternetAddress.parse(commaSeperatedReplyTo));
Multipart multipart = new MimeMultipart();
if (body != null) {
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(body, "text/html;charset=utf-8");
multipart.addBodyPart(messageBodyPart);
}
message.setContent(multipart);
And the html body generated was 并且生成的html主体是
<html>
<body>
<style type="text/css">
#content ul li{
display:inline !important;
float:left;
padding: 7px;
margin-right: 4px;
font-style: italic;
}
</style>
<font face ="Arial" size=4> <U>DESCRIPTION</U>:Test </font><br/><br/>
<div id="content">
<ul>
<li> component_id</li>
<li> component_type_id</li>
<li> name</li>
<li> update_user</li>
<li> update</li>
<li> key</li>
<li> field</li>
</ul>
</div>
</body>
</html>
I am expecting this to display inline, not up and down. 我希望它显示内联,而不是向上和向下。 I tested the generated html in fiddle also.
我也在小提琴中测试了生成的html。 Working as expected.
工作正常。 But, in the mail, i am getting it as normal list.
但是,在邮件中,我将其作为普通列表使用。 Why inline display is not working in email?
为什么嵌入式显示在电子邮件中不起作用?
need help 需要帮忙
E-mail-clients often do not follow standards. 电子邮件客户端通常不遵循标准。 Some clients like gMail even ignore CSS-declarations in a
<style>
-block. 像gMail这样的某些客户端甚至会忽略
<style>
-block中的CSS声明。 CampaignMonitor has some great resources on how to create HTML-e-mails that are supported by most clients. CampaignMonitor在如何创建大多数客户端支持的HTML电子邮件方面拥有大量资源。
You should convert your layout to something like this (use tables!): 您应该将布局转换为以下形式(使用表格!):
<html>
<body>
<font face="Arial" size=4><U>DESCRIPTION</U>:Test</font>
<br/>
<br/>
<table>
<tr>
<td>component_id</td>
<td>component_type_id</td>
<td>name</td>
<td>update_user</td>
<td>update</td>
<td>key</td>
<td>field</td>
</tr>
</table>
</body>
</html>
Then you can style the table/cells using inline CSS. 然后,您可以使用内联CSS为表格/单元格设置样式。
How to use a css code to setContent method(); 如何使用CSS代码设置setContent method(); for example:
例如:
String css=" body {background-repeat: no-repeat;}"; 字符串css =“ body {background-repeat:no-repeat;}”;
MimeBodyPart messageBodyPart = new MimeBodyPart(); MimeBodyPart messageBodyPart =新的MimeBodyPart(); messageBodyPart.setContent(css, "text/html");
messageBodyPart.setContent(css,“ text / html”);
//this css code is not affect the message body. //此CSS代码不会影响消息正文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.