我正在使用 Springframework 3 发送如下时事通讯。
private void sendMail(Map<String,Object> mailInfo) throws Exception{
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("smtp.myhost.com");
mailSender.setPort(587);
mailSender.setUsername("email@email.com");
mailSender.setPassword("12345");
MimeMessage msg = mailSender.createMimeMessage();
MimeMessageHelper mHelper = new MimeMessageHelper(msg, true, "UTF-8");
mHelper.setFrom(new InternetAddress(
mailInfo.get("send_mail").toString(), mailInfo.get("send_name").toString()));
mHelper.setTo(new InternetAddress(
mailInfo.get("recv_mail").toString(), mailInfo.get("recv_name").toString()));
mHelper.setText(mailInfo.get("mail_desc").toString(), true);
mHelper.setSubject(mailInfo.get("mail_title").toString());
mailSender.send(msg);
}
在我的例子中,mail_desc
的值是一个 HTML(它有 css 和其他资源)。邮件运行良好,但它的 CSS 和所有图像都损坏了。
我在 JSP 中附加到所有 src 值,如下所示
function getDomain(){
var DNS = location.href;
DNS = DNS.split('//');
DNS = 'http://' + DNS[1].substr(0,DNS[1].indexOf("/"));
return DNS;
}
所以当我在浏览器控制台中打印它时,它返回 localhost:8080/myApp/{image_src}
。
但是,当我用 gmail 打开时,它看起来很不一样。看起来……
<img src="https://ci5.googleusercontent.com/proxy/FVJ1IBTWmX0l0KPlNQVY_AkDsCL02O2Y_kZS7KACQlnXgfgNvNQvjBKpn9zIdPH84N_r-ulunXvzlMCVUOWsMG1WCjfYUFVX7VpjJ5OV5RdpV2ReZFjM9Yw=s0-d-e1-ft#http://localhost:8080/resources/gtl_portal/images/newsletter/ci.png" alt="ci" class="CToWUd">
现在我有如下问题:
- 如何在 Normal 中实现时事通讯?我在哪里可以找到一些示例或引用资料?(我认为这可以在这里解决很多问题)
如何改变事物的值(value)。这非常棘手,因为它嵌入在样式属性中。:
<td height="50px" style="background:url('/resources/images/newsletter/top_bg.png') repeat-x 0 0;padding:15px">
非常感谢 :D bb
最佳答案
您不能像往常一样包含外部 css,但您可以更喜欢以内联方式(在 <head>
标记中)包装样式的方式。所以像这样,
<style>
.bigFont{
font-size:14px;
}
<style>
<body>
<p class='bigFont' >Hi , i am bigger </p>
</body>
所以这看起来是分开的,而不是将样式属性添加到您的标签中,您也可以通过重新使用来避免一些代码。
据我所知,用于添加内联图像 Spring framework有很好的文档。它被邮件客户端广泛支持,例如,
FileSystemResource res = new FileSystemResource(new File("c:/Sample.jpg"));
helper.addInline("identifier1234", res);
这样您就可以简单地将其用作 <img src='cid:identifier1234'>
.
对于高级模板选项,您可以将您的网络应用程序与 Apache velocity 集成, 一个模板库
关于html - 使用 SpringFramework3 制作时事通讯(HTML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27119865/