【发布时间】:2014-11-25 15:16:09
【问题描述】:
我正在使用 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 中实现时事通讯?我在哪里可以找到一些示例或参考资料?(我认为这可以解决很多问题)
-
如何改变价值的东西看起来像。这很棘手,因为它嵌入在 style 属性中。:
<td height="50px" style="background:url('/resources/images/newsletter/top_bg.png') repeat-x 0 0;padding:15px">
非常感谢 :D bb
【问题讨论】:
-
请注意,Gmail 会预取图片以防止营销人员跟踪邮件何时打开,并相应地重写图片 URL。
标签: html css spring jsp newsletter