Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2014
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.85 KB | None | 0 0
  1. @Service
  2. public class CustomMessageServiceImpl implements Serializable {
  3.  
  4.     @Autowired
  5.     private MailMessageSender mailMessageSender;
  6.  
  7.     @Autowired
  8.     private Configuration configuration;
  9.  
  10.     private final Locale locale = new Locale("ru");
  11.  
  12.  
  13.     public void sendCustomMail(HashMap<String, String> recipients, String subject, String message)  {
  14.  
  15.         SimpleHash model = new SimpleHash();
  16.  
  17.         for (Map.Entry<String, String> emailName : recipients.entrySet()){
  18.             if (message.contains("${name}")){
  19.                 message = message.replace("${name}", emailName.getValue());
  20.             }
  21.             model.put("message", message);
  22.             String buildHTML = null;
  23.             try {
  24.                 buildHTML = FreeMarkerTemplateUtils.processTemplateIntoString(configuration
  25.                         .getTemplate("customMail.ftl", locale, "UTF-8"), model);
  26.             } catch (IOException | TemplateException e) {
  27.                 e.printStackTrace();
  28.             }
  29.             message = message.replace(emailName.getValue(), "${name}");
  30.             model.remove("message");
  31.             createMessageMail(buildHTML, emailName.getKey(), subject);
  32.         }
  33.     }
  34.  
  35.     private void createMessageMail(String HTMLTemplateAsString, String userEmailTo, String mailSubject) {
  36.         Mail mail = new Mail();
  37.         mail.setMessage(HTMLTemplateAsString);
  38.         mail.setSubject(mailSubject);
  39.         mail.setTo(userEmailTo);
  40.         mailMessageSender.sendMail(mail);
  41.     }
  42.  
  43.  
  44.     public void sendCustomMail(List<AuthorProfile> recipients, String subject, String message) {
  45.         HashMap<String, String> emailName = new HashMap<>();
  46.         for (AuthorProfile profile : recipients){
  47.             emailName.put(profile.getEmail(), profile.getFirstName());
  48.         }
  49.         sendCustomMail(emailName, subject, message);
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement