html - 使用 SpringFramework3 制作时事通讯(HTML)

标签 html css spring jsp newsletter

我正在使用 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/

相关文章:

css - 在CSS中使用#image-box与#image_box(连字符与下划线)有优势吗?

javascript - 使用 CSS、JavaScript 或 JQuery 在 Android/iOS 设备上放大网页?

java - 基于 AOP 的对象注入(inject)对于以小写字母开头的类名失败

javascript - 使用 for 循环动态创建在 Canvas 中绘制的图像

html - 每页正文的边距(打印)

PHP/MYSQL while循环问题

spring - 在一个 Spring 上下文中使用两个调度程序

JQuery Keydown、Keypress、Keycode 等

javascript - Angularjs 中的 getelementbyId

spring - mvn : command not found - terminal