Spring - Envoi d’e-mail via un serveur SMTP Gmail avec MailSender

Spring - Envoi d'e-mails via le serveur SMTP Gmail avec MailSender

Spring est livré avec une classe «org.springframework.mail.javamail.JavaMailSenderImpl» utile pour simplifier le processus d'envoi d'e-mails via l'API JavaMail. Voici un projet de build Maven pour utiliser les «JavaMailSenderImpl» de Spring pour envoyer un e-mail via le serveur SMTP de Gmail.

1. Dépendance du projet

Ajoutez la dépendance JavaMail et Spring.

Fichier: 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. Expéditeur de courrier de Spring

Une classe Java pour envoyer des e-mails avec l'interface MailSender de Spring.

Fichier: 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. Fichier de configuration du bean

Configurez le bean mailSender et spécifiez les détails de l'e-mail pour le serveur SMTP Gmail.

Note
Détails de la configuration Gmail -http://mail.google.com/support/bin/answer.py?hl=en&answer=13287

Fichier: Spring-Mail.xml




    
    
    
    

    
       
              true
              true
           
    



    


4. Exécuter

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");

    }
}

Télécharger le code source