From 02c5523d6d4773a049e41d93cf72251ebdc72137 Mon Sep 17 00:00:00 2001 From: Maxime Dor Date: Wed, 13 Sep 2017 02:29:58 +0200 Subject: [PATCH] Handle bundled and external e-mail template properly --- .../io/kamax/mxisd/invitation/sender/EmailInviteSender.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/groovy/io/kamax/mxisd/invitation/sender/EmailInviteSender.java b/src/main/groovy/io/kamax/mxisd/invitation/sender/EmailInviteSender.java index f22a1b6..fff553b 100644 --- a/src/main/groovy/io/kamax/mxisd/invitation/sender/EmailInviteSender.java +++ b/src/main/groovy/io/kamax/mxisd/invitation/sender/EmailInviteSender.java @@ -41,6 +41,7 @@ import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; +import java.io.FileInputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; @@ -92,7 +93,10 @@ public class EmailInviteSender implements IInviteSender { String roomName = invite.getInvite().getProperties().getOrDefault("room_name", ""); String roomNameOrId = StringUtils.defaultIfBlank(roomName, invite.getInvite().getRoomId()); - String templateBody = IOUtils.toString(app.getResource(cfg.getTemplate()).getInputStream(), StandardCharsets.UTF_8); + String templateBody = IOUtils.toString( + StringUtils.startsWith(cfg.getTemplate(), "classpath:") ? + app.getResource(cfg.getTemplate()).getInputStream() : new FileInputStream(cfg.getTemplate()), + StandardCharsets.UTF_8); templateBody = templateBody.replace("%DOMAIN%", srvCfg.getName()); templateBody = templateBody.replace("%DOMAIN_PRETTY%", domainPretty); templateBody = templateBody.replace("%FROM_EMAIL%", cfg.getEmail());