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

Servlets/JSP Java Discussion :

Afficher l'adresse mail de l'expéditeur


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut Afficher l'adresse mail de l'expéditeur
    Bonjour

    J'ai créé une application J2EE contenant une partie "contactez-nous" qui permet au visiteur de m'envoyer un mail. Je dois normalement réceptionner ce mail dans la boite de messagerie de mon hébergeur. Le visiteur doit remplir les champs nom et adresse mail.

    Le problème est que quand un visiteur m'envoie un message, c'est mon adresse mail (contact@monsite.com) qui apparait au niveau du nom de l'expéditeur. C'est normal parce que c'est contact@monsite.com que j'ai défini dans le fichier web.xml.

    Donc comment faire en sorte que l'adresse mail de l'expéditeur apparaisse dans la colonne "nom de l'expéditeur" au niveau de ma boite de messagerie?

    Voici mon fichier web.xml:

    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
    20
    21
    ...
    <context-param>
            <param-name>host</param-name>
            <param-value>monsiteweb.com</param-value>
        </context-param>
        <context-param>
            <param-name>port</param-name>
            <param-value>587</param-value>
        </context-param>
        <context-param>
            <param-name>user</param-name>
            <param-value>contact@monsite.com</param-value>
        </context-param>
        <context-param>
            <param-name>pass</param-name>
            <param-value>xxxxxxx</param-value>
        </context-param>
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    ...
    Voici le code d'envoi:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
     
    import java.io.UnsupportedEncodingException;
    import java.util.Date;
    import java.util.Properties;
     
    import javax.mail.Authenticator;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
     
     
    public class EmailUtility {
        public static void sendEmail(String host, String port,final String userName, final String password, String toAddress,
    			String subject, String message) throws AddressException,
    			MessagingException,
    			UnsupportedEncodingException {
     
    		// sets SMTP server properties
    		Properties properties = new Properties();
    		properties.put("mail.smtp.host", host);
    		properties.put("mail.smtp.port", port);
    		properties.put("mail.smtp.auth", "true");
    		properties.put("mail.smtp.starttls.enable", "true");
     
    		// creates a new session with an authenticator
    		Authenticator auth = new Authenticator() {
    			public PasswordAuthentication getPasswordAuthentication() {
    				return new PasswordAuthentication(userName, password);
    			}
    		};
     
    		Session session = Session.getInstance(properties, auth);
     
    		// creates a new e-mail message
    		MimeMessage msg = new MimeMessage(session);
     
    		msg.setFrom(new InternetAddress(userName,"Mon site Web"));
    		InternetAddress[] toAddresses = { new InternetAddress(toAddress) };
    		msg.setRecipients(Message.RecipientType.TO, toAddresses);
    		msg.setSubject(subject);
    		msg.setSentDate(new Date());
    		msg.setText(message,"utf-8", "html");
     
    		// sends the e-mail
    		Transport.send(msg);
     
    	}
    }
    Merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Bha suffit de changer le setFrom dans ton code.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 80
    Par défaut
    Hello,


    Comme c'est dit justement au dessus, il faut que tu changes ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msg.setFrom(new InternetAddress(userName,"Mon site Web"));
    Donc peut être ajouter un champ dans le formulaire de contact qui est le user te contactant...

    Jérémy.

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Oui c'est vraiment tout bête. OK ça marche.

    Mais j'ai un autre problème. Lorsque l'utilisateur remplit les champs nom , prénom et adresse email (par exemple alain@gmail.com), j'ai bel et bien son nom et prénom qui apparaissent dans la colonne "Expéditeur". Mais en réalité l'adresse mail de l'expéditeur n'est pas celle qu'il a fournie dans le formulaire d'envoi, mais bien celle que j'ai définie dans mon web.xml c'est-à-dire "contact@monsite.com". Et c'est bien normal. Du coup je reçois le message d'un utilisateur dont l'adresse mail est contact@monsite.com au lieu de alain@gmail.com

    Maintenant comment faire pour que l'adresse mail de l'expéditeur soit celle qu'il a fournie dans le formulaire d'envoi, au lieu de l'adresse que j'ai défini dans le web.xml. C'est compliqué car pour envoyer un mail, je dois définir des paramètres comme le port, le nome d'hôte, le password etc...Or l'utilisateur ne peut pas me fournir ces paramètres.

    Merci

  5. #5
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 80
    Par défaut
    Si tu mets quelque chose d'autre que le userName ( ton adresse si je comprends) dans le setFrom(), ca ne fonctionne pas?

    Tu pourrais montrer la classe qui fait l'appel à la méthode sendMail stp?

    Jérémy.

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Oh mais ça marche. J'ai juste mis l'adresse mail au niveau de userName...

    Encore merci

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

Discussions similaires

  1. [XL-2003] Récupérer adresse mail de l'expéditeur
    Par plastik75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/09/2013, 15h28
  2. Mail avec TWordApplication & adresse mail expéditeur
    Par Nico21540 dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 03/02/2011, 11h00
  3. [PHP 5.0] Adresse e-mail de l'expéditeur
    Par quaresma dans le forum Langage
    Réponses: 12
    Dernier message: 20/09/2010, 14h06
  4. Importance de l'adresse e-mail de l'expéditeur
    Par mh333 dans le forum Langage
    Réponses: 7
    Dernier message: 16/03/2009, 11h42
  5. Adresse mail expéditeur avec CDO
    Par shemonet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/11/2008, 14h07

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