我们可以使用 Bootstrap 在 Spring MVC 项目中设计 Apache FreeMarker 电子邮件模板吗?

Can we use Bootstrap to design Apache FreeMarker email template in Spring MVC project?

我想在 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://whosebug.com/">Accept</a>   <a class="btn btn-default" href="https://whosebug.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 模板(内联样式除外),则答案是可以接受的。请忽略按钮文字。

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

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

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

祝你好运。