IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Problème avec javamail [Integration]


Sujet :

Spring Java

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut Problème avec javamail
    Bonjour à tous,

    Je tente désespérément d'envoyer un email depuis mon web service java.

    J'utilise la classe : org.springframework.mail.javamail.JavaMailSenderImpl

    et voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    try {
    	MimeMessagePreparator preparator = new MimeMessagePreparator() {
    	public void prepare(MimeMessage mimeMessage) throws Exception {
    		MimeMessageHelper message = new MimeMessageHelper(	mimeMessage);
    		message.setTo(ua.getEmail());
    		message.setFrom("adresse@domaine.com");
    		Map<String, Object> model = new HashMap<String, Object>();
    		model.put("user", ua);
    		String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,
    				"com/wpf/projet/templatesaccountCreationMail.vm",model);
    		message.setText(text, true);
     
    		}
    	};
    	this.mailSender.send(preparator);
    } catch (Exception e) {
         System.out.println(e.getCause().getMessage());
    }
    Et mon traitement me sort un NullPointerException sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.mailSender.send(preparator);
    Je ne comprends pas du tout cette exception, auriez-vous une idée ?

    D'avance merci.

    Vince

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    Le membre mailSender ne doit pas être initialisé. Tout simplement.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    ok, j'ai ajouté l'initiation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private JavaMailSender mailSender = null;
    Je n'obtiens effectivement plus le NullPointerException, mais je ne reçois pas de mail non plus...

    J'ai l'impression qu'il ne se passe rien.

    On ne peut pas obtenir le résultat de la méthode "send" ?

    Merci

    Vince

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Quand je disais "initialisation" je voulais dire "Instanciation". Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private JavaMailSender mailSender = null;
    Tu devrais toujours avoir une NullPointerException (A moins que tu utilise une annotation pour faire de l'injection).

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    désolé, je suis débutant, je ne comprends pas trop ce que tu veux me dire.

    Peux-tu me donner un exemple ?

    Merci

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Quelque chose dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mailSender = new JavaMailSenderImpl();

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    Poste le code de ta classe en entier, ainsi que la StackTrace de l'exception.

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    je progresse...
    il me manquait une initialisation du velocityEngine

    j'obtiens désormais l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Could not prepare mail; nested exception is org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource '/projet/src/main/java/com/wpf/projet/templates/accountCreationMail.vm'
    Pourtant, le fichier est bien présent à cette arborescence....

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    pour info, voici ma config du VelocityEngine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
       		<property name="velocityProperties">
    			<value>
    				resource.loader=class
    				class.resource.loader.class=org.apache.velocity.runtime.resource.loader.FileResourceLoader
    			</value>
    		</property>
     
    	</bean>
    Comment savoir le chemin pris par velocityEngine ?

    Merci

    Vince

  10. #10
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut
    Bonjour à tous,

    Problème résolu...

    J'ai ajouté ceci dans ma méthode 'init()' de ma classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    this.velocityEngine = (VelocityEngine) appContext.getBean("velocityEngine");
    this.mailSender = (JavaMailSenderImpl) appContext.getBean("mailSender");
    A bientôt

    Vince

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec JavaMail
    Par jecomprendsrien dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 25/06/2012, 13h43
  2. [API Javamail] Problèmes avec le Champ Cci
    Par Hellnino18 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 14/05/2009, 16h15
  3. Réponses: 15
    Dernier message: 06/04/2009, 09h12
  4. Petit problème avec JavaMail
    Par jbjweb dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 03/08/2006, 11h19
  5. [javamail] Problème avec Hotmail ?
    Par Cyborg289 dans le forum API standards et tierces
    Réponses: 58
    Dernier message: 14/09/2005, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo