The line TemplateResource templateResource = new URLTemplateResource("0",this.getClass().getClassLoader().getResource("personal_alert.ftl"));
will load the template from src/main/resources
package com.liferay.alerter;
import java.io.StringWriter;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import com.liferay.asset.kernel.model.AssetEntry;
import com.liferay.mail.kernel.model.MailMessage;
import com.liferay.mail.kernel.service.MailServiceUtil;
import com.liferay.portal.kernel.model.User;
import com.liferay.portal.kernel.template.Template;
import com.liferay.portal.kernel.template.TemplateConstants;
import com.liferay.portal.kernel.template.TemplateException;
import com.liferay.portal.kernel.template.TemplateManagerUtil;
import com.liferay.portal.kernel.template.TemplateResource;
import com.liferay.portal.kernel.template.URLTemplateResource;
public class Mailer {
public void sentMail(User user, AssetEntry entry) {
String body = "";
try {
TemplateResource templateResource =
new URLTemplateResource("0",this.getClass().getClassLoader().getResource("message.ftl"));
Template template = TemplateManagerUtil.getTemplate(
TemplateConstants.LANG_TYPE_FTL, templateResource, false);
// Add the data-models
template.put("user", user);
template.put("entry", entry);
StringWriter out = new StringWriter();
template.processTemplate(out);
body = out.toString();
} catch (TemplateException e1) {
e1.printStackTrace();
}
try {
MailMessage mailMessage = new MailMessage();
mailMessage.setTo(new InternetAddress(user.getEmailAddress()));
mailMessage.setFrom(new InternetAddress("[email protected]"));
mailMessage.setSubject("New interesting article");
mailMessage.setBody(body);
mailMessage.setHTMLFormat(true);
MailServiceUtil.sendEmail(mailMessage);
} catch (AddressException e) {
e.printStackTrace();
}
}
}