Spring - отправка электронной почты через SMTP-сервер Gmail с помощью MailSender

Spring - отправка электронной почты через SMTP-сервер Gmail с помощью MailSender

Spring поставляется с полезным классом «org.springframework.mail.javamail.JavaMailSenderImpl» для упрощения процесса отправки электронной почты через JavaMail API. Вот проект сборки Maven, в котором используется Spring "JavaMailSenderImpl" для отправки электронной почты через SMTP-сервер Gmail.

1. Зависимость проекта

Добавьте JavaMail и зависимость Spring.

Файл: pom.xml


  4.0.0
  com.example.common
  SpringExample
  jar
  1.0-SNAPSHOT
  SpringExample
  http://maven.apache.org

  
    
        Java.Net
        http://download.java.net/maven/2/
    
  

  

    
              junit
              junit
              3.8.1
             test
    

    
    
        javax.mail
        mail
        1.4.3
    

    
    
            org.springframework
        spring
        2.5.6
    

  

2. Почтовый отправитель Spring

Класс Java для отправки электронной почты с интерфейсом SpringS MailSender.

Файл: MailMail.java

package com.example.common;

import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;

public class MailMail
{
    private MailSender mailSender;

    public void setMailSender(MailSender mailSender) {
        this.mailSender = mailSender;
    }

    public void sendMail(String from, String to, String subject, String msg) {

        SimpleMailMessage message = new SimpleMailMessage();

        message.setFrom(from);
        message.setTo(to);
        message.setSubject(subject);
        message.setText(msg);
        mailSender.send(message);
    }
}

3. Файл конфигурации бина

Настройте bean-компонент mailSender и укажите данные электронной почты для SMTP-сервера Gmail.

Note
Сведения о конфигурации Gmail -http://mail.google.com/support/bin/answer.py?hl=en&answer=13287

Файл: Spring-Mail.xml




    
    
    
    

    
       
              true
              true
           
    



    


4. Запустить его

package com.example.common;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App
{
    public static void main( String[] args )
    {
        ApplicationContext context =
             new ClassPathXmlApplicationContext("Spring-Mail.xml");

        MailMail mm = (MailMail) context.getBean("mailMail");
        mm.sendMail("[email protected]",
               "[email protected]",
               "Testing123",
               "Testing only \n\n Hello Spring Email Sender");

    }
}

Скачать исходный код

Related