How do I send HTML email in Spring MVC?

后端 未结 6 900
[愿得一人]
[愿得一人] 2020-12-01 07:21

I have successfully sent simple email using this:

SimpleMailMessage mailMessage = new SimpleMailMessage();

mailMessage.setTo(\"someone@abc.com\");
mailMessa         


        
6条回答
  •  离开以前
    2020-12-01 07:55

    In Spring this should be done this way:

    Your email class:

    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.mail.MessagingException;
    import javax.mail.internet.MimeMessage;
    import org.springframework.mail.SimpleMailMessage;
    import org.springframework.mail.javamail.JavaMailSender;
    import org.springframework.mail.javamail.MimeMessageHelper;
    
    public class HTMLMail
    {
        private JavaMailSender mailSender;
    
    
        public void setMailSender(JavaMailSender mailSender) {
            this.mailSender = mailSender;
        }
    
        public void sendMail(String from, String to, String subject, String msg) {
            try {
    
                MimeMessage message = mailSender.createMimeMessage();
    
                message.setSubject(subject);
                MimeMessageHelper helper;
                helper = new MimeMessageHelper(message, true);
                helper.setFrom(from);
                helper.setTo(to);
                helper.setText(msg, true);
                mailSender.send(message);
            } catch (MessagingException ex) {
                Logger.getLogger(HTMLMail.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    
    
    }
    

    beans:(Spring-Mail.xml)

    
    
        
            
            
            
            
    
            
                
                    true
                    true
                
            
        
        
            
        
    
    

    Usage:

    ApplicationContext context = new ClassPathXmlApplicationContext("Spring-Mail.xml");
    
            HTMLMail mm = (HTMLMail) context.getBean("htmlMail");
            String html="

    Hi!

    Link text"; mm.sendMail("sender@gmail.com", "receiver@gmail.com", "test html email", html);

    Full example here .

提交回复
热议问题