Subversion Repositories SmartDukaan

Rev

Rev 28377 | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.spice.profitmandi.service;

import java.util.Map;

import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import org.apache.velocity.app.VelocityEngine;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import org.springframework.ui.velocity.VelocityEngineUtils;

@Service("emailService")
public class EmailService {

        @Autowired
        JavaMailSender gmailRelaySender;

        @Autowired
        VelocityEngine velocityEngine;

        private String getContentFromTemplate(String template, Map<String, Object> model) {
                StringBuffer content = new StringBuffer();
                try {
                        content.append(VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, template, model));
                } catch (Exception e) {
                        e.printStackTrace();
                }
                return content.toString();
        }

        public void sendMailWithAttachments(String subject, String messageTemplate, Map<String, Object> model,
                        String[] email, String[] cc, String[] bcc) throws Exception {
                MimeMessage message = gmailRelaySender.createMimeMessage();
                MimeMessageHelper helper = new MimeMessageHelper(message, true);
                if (email != null) {
                        helper.setTo(email);
                }
                if (bcc != null) {
                        helper.setBcc(bcc);
                }
                if (cc != null) {
                        helper.setCc(cc);
                }
                helper.setSubject(subject);
                helper.setText(this.getContentFromTemplate(messageTemplate, model), true);

                InternetAddress senderAddress = new InternetAddress("noreply@smartdukaan.com", "SmartDukaan");
                helper.setFrom(senderAddress);
                gmailRelaySender.send(message);

        }

}