发送电子邮件时将参数显示到 FreeMarker 模板中

阿卜杜拉欣

通过使用 Spring Boot,我成功发送了电子邮件,但我无法将参数传递到模板中 ftl

邮件服务程序

@Service
public class MailService {

    @Autowired
    private EmailService emailService;

    public void sendEmailWithTemplating(String userEmail, String username) throws UnsupportedEncodingException, CannotSendEmailException {
        InlinePicture inlinePicture = createGalaxyInlinePicture();

        final Email email = DefaultEmail.builder()
                    .from(new InternetAddress("[email protected]",
                            "Smart Reservation System"))
                    .to(newArrayList(
                            new InternetAddress(userEmail,
                                    username)))
                    .subject("registration of a new user")
                    .body("")
                    .encoding("UTF-8").build();

        String template = "emailTemplate.ftl";

        Map<String, Object> modelObject = ImmutableMap.of(
                    "title", "Emperor",
                    "name", "Cleon I"
            );

        emailService.send(email, template, modelObject, inlinePicture);
    }

    private InlinePicture createGalaxyInlinePicture() {
        ClassLoader classLoader = getClass().getClassLoader();
        File pictureFile = new File(
                     classLoader.getResource(
                         "images/parcking.jpg")
                     .getFile());
        Preconditions.checkState(pictureFile.exists(), 
                     "There is not picture %s", pictureFile.getName());

        return DefaultInlinePicture.builder()
                    .file(pictureFile)
                    .imageType(ImageType.JPG)
                    .templateName("parcking.jpg").build();
    }

}

例如,我想在sendEmailWithTemplating()我的模板中显示作为方法参数的用户名参数emailTemplate.ftl

我发现我们可以使用像这样的地图

    Map<String, Object> modelObject = ImmutableMap.of(
                "username", username,
                "useremail", userEmail
        );

然后显示如下参数:

电子邮件模板.ftl

<!doctype html>
<html>
<body>
    <p>
        Dear<em>{{username}}</em>,//but it display it like {{username}} it coundn't display the value of username
    </p>
    <p>
        <strong>Congratulations!</strong> You’re Now Signed Up.
    </p>
    <p style="align: center">
        <img src="parcking.jpg" />
    </p>

    <p>
         --<br /> Regards<br />
         <em>SRS Team</em><br />
    </p>
</body>
</html>
德卡尼

FreeMarker 的语法是${username}.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有条件地在 freemarker 模板中显示行

来自分类Dev

使用Mandrill中的模板发送电子邮件

来自分类Dev

在Django中通过Amazon SES发送电子邮件时,如何更改显示名称?

来自分类Dev

PHPMailer在发送电子邮件时显示列表中的所有收件人?

来自分类Dev

通过GMail API从我的Javascript应用发送电子邮件-邮件显示在GMail发送列表中,但未传递到目标电子邮件地址

来自分类Dev

通过GMail API从我的Javascript应用发送电子邮件-邮件显示在GMail发送列表中,但未传递到目标电子邮件地址

来自分类Dev

如何从模板中的变量处理freemarker模板?

来自分类Dev

当用户在Outlook中按下发送按钮时,如何将电子邮件保存到文件夹而不是发送电子邮件

来自分类Dev

通过 apex 发送时,合并字段值未显示在电子邮件模板中

来自分类Dev

将Outlook“以脚本方式运行”规则集成到发送电子邮件的Excel VBA代码中

来自分类Dev

我无法使用Java Mail API发送电子邮件,但电子邮件已发送但未收到或未显示在已发送的电子邮件中

来自分类Dev

如何将spring.freemarker.template-loader-path指向依赖项jar中的模板?

来自分类Dev

通过 php 邮件发送电子邮件时,内联 css 不打印在电子邮件中

来自分类Dev

在Laravel 5.1中将数据发送到电子邮件模板时出错

来自分类Dev

在Freemarker中包含带有变量的模板

来自分类Dev

在Freemarker模板中为对象分配变量

来自分类Dev

替换的freemarker模板字段中的多余引号

来自分类Dev

在freemarker模板中获取语言环境

来自分类Dev

在Freemarker模板中设置嵌套属性

来自分类Dev

freemarker-模板中的访问设置变量

来自分类Dev

替换的freemarker模板字段中的多余引号

来自分类Dev

如何从 Freemarker 模板中的 HashMap 获取值?

来自分类Dev

删除 Freemarker 模板中的 HTML 标签

来自分类Dev

从Gmail API发送电子邮件未收到,但显示在已发送文件夹中

来自分类Dev

如何通过Mailgun发送电子邮件模板?

来自分类Dev

使用模板发送电子邮件-Grails

来自分类Dev

Zend Framework 2发送电子邮件模板

来自分类Dev

使用模板发送电子邮件-Grails

来自分类Dev

如何通过Mailgun发送电子邮件模板?

Related 相关文章

  1. 1

    有条件地在 freemarker 模板中显示行

  2. 2

    使用Mandrill中的模板发送电子邮件

  3. 3

    在Django中通过Amazon SES发送电子邮件时,如何更改显示名称?

  4. 4

    PHPMailer在发送电子邮件时显示列表中的所有收件人?

  5. 5

    通过GMail API从我的Javascript应用发送电子邮件-邮件显示在GMail发送列表中,但未传递到目标电子邮件地址

  6. 6

    通过GMail API从我的Javascript应用发送电子邮件-邮件显示在GMail发送列表中,但未传递到目标电子邮件地址

  7. 7

    如何从模板中的变量处理freemarker模板?

  8. 8

    当用户在Outlook中按下发送按钮时,如何将电子邮件保存到文件夹而不是发送电子邮件

  9. 9

    通过 apex 发送时,合并字段值未显示在电子邮件模板中

  10. 10

    将Outlook“以脚本方式运行”规则集成到发送电子邮件的Excel VBA代码中

  11. 11

    我无法使用Java Mail API发送电子邮件,但电子邮件已发送但未收到或未显示在已发送的电子邮件中

  12. 12

    如何将spring.freemarker.template-loader-path指向依赖项jar中的模板?

  13. 13

    通过 php 邮件发送电子邮件时,内联 css 不打印在电子邮件中

  14. 14

    在Laravel 5.1中将数据发送到电子邮件模板时出错

  15. 15

    在Freemarker中包含带有变量的模板

  16. 16

    在Freemarker模板中为对象分配变量

  17. 17

    替换的freemarker模板字段中的多余引号

  18. 18

    在freemarker模板中获取语言环境

  19. 19

    在Freemarker模板中设置嵌套属性

  20. 20

    freemarker-模板中的访问设置变量

  21. 21

    替换的freemarker模板字段中的多余引号

  22. 22

    如何从 Freemarker 模板中的 HashMap 获取值?

  23. 23

    删除 Freemarker 模板中的 HTML 标签

  24. 24

    从Gmail API发送电子邮件未收到,但显示在已发送文件夹中

  25. 25

    如何通过Mailgun发送电子邮件模板?

  26. 26

    使用模板发送电子邮件-Grails

  27. 27

    Zend Framework 2发送电子邮件模板

  28. 28

    使用模板发送电子邮件-Grails

  29. 29

    如何通过Mailgun发送电子邮件模板?

热门标签

归档