Problème spring mail

Fermé
velocity Messages postés 204 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 16 octobre 2014 - 8 juin 2012 à 15:09
velocity Messages postés 204 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 16 octobre 2014 - 11 juin 2012 à 17:08
Bonjour,

Je veut envoyer des messages avec spring, cependant j'ai un message d'erreur qui je ne peut pas résoudre

GRAVE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: javax/mail/MessagingException

voici les beans que j'ai déclaré
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host"><value>smtp.gmail.com</value></property>
    <property name="port"><value>587</value></property>
    <property name="protocol"><value>smtp</value></property>
    <property name="username"><value>xxxxx@gmail.com</value></property>
    <property name="password"><value>xxxxxxx</value></property>
    <property name="javaMailProperties">
            <props>
                <prop key="mail.smtp.auth">true</prop>
                <prop key="mail.smtp.starttls.enable">true</prop>
                <prop key="mail.smtp.quitwait">false</prop>
            </props>
    </property>
    
</bean>

<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
    <property name="from"><value>bdtechmail@gmail.com</value></property>
    <property name="subject"><value>Rappel de mot de passe</value></property>
</bean>

<bean id="passwordReminder" class="com.businessdecision.tact.bdtechtest.domain.PasswordReminder">
    <property name="mailSender"><ref bean="mailSender"/></property>
    <property name="message"><ref bean="mailMessage"/></property>
</bean>


et la classe d'envoi


public class PasswordReminder {
	
	private MailSender mailSender;
	private SimpleMailMessage message;
	
    public void setMailSender(MailSender mailSender) {
        this.mailSender = mailSender;
    }

    public void setMessage(SimpleMailMessage message) {
        this.message = message;
    }

    public MailSender getMailSender() {
		return mailSender;
	}

	public SimpleMailMessage getMessage() {
		return message;
	}

	public void envoyer(Utilisateur utilisateur) {

        SimpleMailMessage msg = new SimpleMailMessage(this.message);
        msg.setTo(utilisateur.getE_mail_utilisateur());
        msg.setText("Cher "+ utilisateur.getPrenom_Utilisateur()+" "+utilisateur.getNom_Utilisateur()+"\n"
            +"Veuillez recevoir vos données de connexion à bdtech \n"
            +"login: "+ utilisateur.getLogin_Utilisateur()+"\n"
            +"mot de passe: "+utilisateur.getMot_de_passe_utilisateur()+"\n");
        
        try{
            mailSender.send(msg);
            System.out.println("un message de rappel de mot de passe a été envoyé à "+utilisateur.getE_mail_utilisateur());
        }
        catch(MailException ex) {
            System.err.println(ex.getMessage());            
        }
    }
}


A voir également:

1 réponse

velocity Messages postés 204 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 16 octobre 2014 6
11 juin 2012 à 17:08
svp j'ai toujours la même erreur et je ne peut pas la résoudre ,
11 juin 2012 16:06:42 org.springframework.web.context.ContextLoader initWebApplicationContext
GRAVE: Context initialization failed
java.lang.NoClassDefFoundError: javax/mail/MessagingException
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	at java.lang.Class.getDeclaredConstructors(Class.java:1836)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:229)


merci d'avance
0