【问题标题】:Can we use Bootstrap to design Apache FreeMarker email template in Spring MVC project?我们可以在 Spring MVC 项目中使用 Bootstrap 设计 Apache FreeMarker 电子邮件模板吗?
【发布时间】:2017-07-25 18:12:13
【问题描述】:

我想在 Spring MVC 项目中设计我的电子邮件模板,我正在使用 Apache FreeMarker 模板来发送电子邮件内容。

newUserRegRequest.ftl(资源文件夹中的电子邮件模板文件)

<html><head>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css"/>
</head>
<body>
    <h2>Hi,</h2>
    <h3>New Registration for BidManager Development</h3>
    <div>
        First Name : ${bmUserModel.firstName}
        Last Name  : ${bmUserModel.lastName}
        Country    : ${bmUserModel.country}
    </div>
    <pre><a class="btn btn-default" href="https://stackoverflow.com/">Accept</a>   <a class="btn btn-default" href="https://stackoverflow.com/">Reject</a></pre>
</body></html>

我使用过 Bootstrap 按钮类,但不知道应该将其 CSS 库保存在哪里(它是一个 Eclipse 动态 Web 项目)。以下是我如何配置电子邮件服务器。

spring-servlet.xml

<!-- Start: Email Configuration -->
<beans:bean id="bmRegMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <beans:property name="host" value="${bm.smtp.hostName}"></beans:property>
    <beans:property name="port" value="${bm.smtp.port}"></beans:property>
    <beans:property name="username" value="${bm.smtp.username}"></beans:property>
    <beans:property name="password" value="${bm.smtp.password}"></beans:property>
    <beans:property name="defaultEncoding" value="${bm.defaultEncoding}"></beans:property>
    <beans:property name="javaMailProperties">
        <beans:props>
            <beans:prop key="mail.transport.protocol">${bm.transport.protocolName}</beans:prop>
            <beans:prop key="mail.smtp.auth">${bm.smtp.authorization}</beans:prop>
            <beans:prop key="mail.smtp.starttls.enable">${bm.smtp.tls}</beans:prop>
            <beans:prop key="mail.debug">${bm.mail.debug}</beans:prop>
            <!-- <beans:prop key="mail.smtp.ssl.enable">${bm.smtp.ssl}</beans:prop> -->
        </beans:props>
    </beans:property>
</beans:bean>
<beans:bean id="bmFreeMarkerConfig" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
    <beans:property name="templateLoaderPath" value="classpath:/templates/"></beans:property>
</beans:bean>
<!-- End: Email Configuration -->

当我发送电子邮件时,它在我的 Yahoo 邮件中是这样的:

我想显示如下:

如果有一些替代方法来设计 FreeMarker 模板(内联样式除外),答案是可以接受的。请忽略按钮文字。

【问题讨论】:

    标签: spring-mvc twitter-bootstrap-3 html-email freemarker


    【解决方案1】:

    电子邮件与 html5 外观相似,但不同。有一些电子邮件客户端支持一些 html5 和一些 css3。

    这取决于您希望您的电子邮件在不同客户上看起来不错的程度。大多数流行的电子邮件客户端将在标题中使用&lt;style&gt; 块。您已经声明不希望使用内联样式,这意味着您的电子邮件在 Outlook 中看起来不会很好。正如您在使用 Yahoo 邮件时注意到的那样,没有内联样式的漂亮按钮将是一个巨大的挑战。

    感谢您的热情,但我认为您并未完全了解电子邮件开发日益复杂的问题。

    祝你好运。

    【讨论】:

    • 谢谢!!! @Gwally,我很感激你的回答。为您提供的链接加一个,但它不回答我的问题。
    • 我不使用 Freemarker 模板,所以帮不了你。 Zurb Foundation for Email 有一个很好的电子邮件模板系统。我会寻找一个 Zurb 1.0.5 电子邮件模板并将其与您的 Freemarker 进行比较,看看您是否能想出一个模板来满足您的大部分需求。 foundation.zurb.com/emails/docs/v1.0.5/index.html。 Zurb 2 需要 SASS 和其他乐趣,而 1.0.5 模板是自包含的。
    猜你喜欢
    • 2014-03-20
    • 2010-10-11
    • 2018-02-23
    • 1970-01-01
    • 2017-03-09
    • 2023-02-08
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    相关资源
    最近更新 更多