Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Service
- public class CustomMessageServiceImpl implements Serializable {
- @Autowired
- private MailMessageSender mailMessageSender;
- @Autowired
- private Configuration configuration;
- private final Locale locale = new Locale("ru");
- public void sendCustomMail(HashMap<String, String> recipients, String subject, String message) {
- SimpleHash model = new SimpleHash();
- for (Map.Entry<String, String> emailName : recipients.entrySet()){
- if (message.contains("${name}")){
- message = message.replace("${name}", emailName.getValue());
- }
- model.put("message", message);
- String buildHTML = null;
- try {
- buildHTML = FreeMarkerTemplateUtils.processTemplateIntoString(configuration
- .getTemplate("customMail.ftl", locale, "UTF-8"), model);
- } catch (IOException | TemplateException e) {
- e.printStackTrace();
- }
- message = message.replace(emailName.getValue(), "${name}");
- model.remove("message");
- createMessageMail(buildHTML, emailName.getKey(), subject);
- }
- }
- private void createMessageMail(String HTMLTemplateAsString, String userEmailTo, String mailSubject) {
- Mail mail = new Mail();
- mail.setMessage(HTMLTemplateAsString);
- mail.setSubject(mailSubject);
- mail.setTo(userEmailTo);
- mailMessageSender.sendMail(mail);
- }
- public void sendCustomMail(List<AuthorProfile> recipients, String subject, String message) {
- HashMap<String, String> emailName = new HashMap<>();
- for (AuthorProfile profile : recipients){
- emailName.put(profile.getEmail(), profile.getFirstName());
- }
- sendCustomMail(emailName, subject, message);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement