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

API standards et tierces Java Discussion :

Javamail : envoi via le SMTP Free


Sujet :

API standards et tierces Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Points : 33
    Points
    33
    Par défaut Javamail : envoi via le SMTP Free
    Bonjour,
    J'ai un service à vous demander.
    Est-ce que quelqu'un d'entre vous à un petit programe QUI MARCHE pour envoyer des mails avec javaMail via un smtp du genre free?
    En effet, sur Internet, il y a plein d'exemple qui ne marche presque jamais.
    Ca serait super cool.
    En aucun cas, c'est pour faire un copier coller, mais juste pour voir le fonctionnement, car j'ai testé pas mal de trucs, en vain.
    Merci d'avance.
    Cordialement.
    Jo

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 70
    Points : 71
    Points
    71
    Par défaut [Javamail] Envoi basique de mail
    Bonjour à tous

    J'ai le même problème :Je tente de faire envoyer un mail par mon application.
    Voici ce que j'ai essayé (sans succès) pour mes tests :
    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
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
     
        	String MAILER_VERSION = "Java";
        	String serveur = "smtp.wanadoo.fr";    	    	
     
        	try 
        	{
        		Properties prop = System.getProperties();
        		prop.put("mail.smtp.host", serveur);
        		javax.mail.Session session = (javax.mail.Session.getDefaultInstance(prop, null));
        		Message message = new MimeMessage(session);
        		message.setFrom(new InternetAddress("moi@wanadoo.fr"));
     
        		InternetAddress[] internetAddresses = new InternetAddress[1];
        		internetAddresses[0] = new InternetAddress("autreMoi@wanadoo.fr");
        		message.setRecipients(Message.RecipientType.TO,internetAddresses);
        		message.setSubject("TestMailPreri");
        		message.setText("test mail pour Preri");
        		message.setHeader("X-Mailer", MAILER_VERSION);
        		message.setSentDate(new Date());
        		session.setDebug(true);
        		Transport.send(message);
        	} 
        	catch (AddressException e) {
        		e.printStackTrace();
        	} 
        	catch (MessagingException e) {
        		e.printStackTrace();
        	}
    Je crois que je n'ai pas tout compris en ce qui concerne le serveur.

    J'ai aussi essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import org.apache.commons.mail.*;
     
    		try {
    			SimpleEmail email = new SimpleEmail();
    			email.setHostName("smtp.wanadoo.fr");
    			email.addTo("moi@wanadoo.fr", "moi");
    			email.setFrom("autreMoi@wanadoo.fr", "autre moi");
    			email.setSubject("Test message Preri");
    			email.setMsg("Simple test de commons-email");
    			email.send();
    		} catch (EmailException e) {
    			e.printStackTrace();
    		}
    Qu'est ce qui ne fonctionne pas dans mon code (il compile) ? Merci de m'aider.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2005
    Messages : 97
    Points : 208
    Points
    208
    Par défaut
    Bonjour, je dis ca juste comme ca, sans conviction mais est ce qu'il n'est pas possible que le problème ne viennent pas du code mais de l'infrastructure . Un serveur smtp qui oblige a l'authentification (comme celui de la poste si mes souvenirs sont bon ) ou un autre problème x ou y

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 70
    Points : 71
    Points
    71
    Par défaut
    Mon problème devient alors que je n'ai aucun moyen de le savoir.
    On reprendra ça à la rentrée. Bonnes vacances à tous.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 70
    Points : 71
    Points
    71
    Par défaut Probleme resolu
    Envoyer un mail avec Java ?

    1) insérer mail.jar et activation.jar (c'est celui-ci qui me manquait) dans le projet (pour Eclipse) ou dans votre path.
    2) Voici un bout de code qui fonctionne à l'intention de ceux qui voudraient envoyer un mail avec Java :
    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
     
    import java.util.Properties;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
     
    public static void sendMail()
    {   		
        String emailFrom = "\"moi Himself\"<moi.himself@wanadoo.fr>";
        String emailTo = "lui.himself@wanadoo.fr";		
        //String emailCc = "elle.himself@wanadoo.fr";
        String messageText = "test Javamail";
        String subject = "Ceci est un test Javamail";
     
        try 
        {   		
        	Properties props = System.getProperties();
        	// laisser "mail.smtp.host" en dur
        	props.put("mail.smtp.host", "smtp.wanadoo.fr");
        	// javax.mail.Session pour que ça fonctionne aussi avec WebObjects
        	javax.mail.Session maSession = javax.mail.Session.getDefaultInstance(props, null);
        	MimeMessage message = new MimeMessage(maSession);
     
        	message.setFrom(new InternetAddress(emailFrom));
        	message.addRecipient(Message.RecipientType.TO, new InternetAddress(emailTo));
        	//message.addRecipient(Message.RecipientType.CC, new InternetAddress(emailCc));
        	message.setSubject(subject);
        	message.setText(messageText);
     
    	Transport.send(message);    		   		
        } 
        catch (AddressException e) {
        	e.printStackTrace();
        } 
        catch (MessagingException e) {
        	e.printStackTrace();
        }
    Je ne sais pas si ce code fonctionne avec free.fr.
    Je pense que le problème est suffisamment récurant pour en faire une faq.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour

    je débute en java et essaye de comprendre comment marche un envoi de mail en java mais je me rends compte que beaucoup de problème viennent de l'authentification auprès du smtp et je pense que c'est ce qui m'arrive.

    j'ai ce message à chaque envoi :

    220 mail.libertysurf.net ESMTP Service (7.3.118.8) ready
    250 mail.libertysurf.net
    250 MAIL FROM:<essai@tiscali.fr> OK
    250 RCPT TO:<essai@tiscali.fr> OK
    354 Start mail input; end with <CRLF>.<CRLF>
    554 Message refused
    500 Command unrecognized

    est-ce la cause ?

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 55
    Points : 20
    Points
    20
    Par défaut
    bonjours a tous
    en fait j'ai aussi le méme probléme, mais moi je travail sur une application web avec struts,myeclipse et tomcat .je veux utiliser l'api javamail,pour envoyer le mot de passe perdu de lutiliateur a son adresse e-mail
    j'ai entendu dire que ceux qui travail avec j2ee 1.4 n'ont rien a télécharger ou a installer concernat l'api car cette version contien déja tout .
    1-est ce vrais ?
    2-comment je peut utiliser cette api ?surtout que struts utilise les formAction et les actionForm;
    j'arrive pas a commencer a programmer car je ne sais pas comment proceder
    merci

  8. #8
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 49
    Points : 51
    Points
    51
    Par défaut SMPT
    Bonjour,

    je débute dans la programmation avec javamail.

    Une question me taquine. Dans la méthode" props.put("mail.smtp.host", "smtp.wanadoo.fr");" doit-on mettre le smtp de notre serveur ou celui de l'adresse qui recoit la mail.

    Exemple :

    emailFrom : "kelkun@societe.com"
    emailTo : "kelkundautre@wanadoo.fr"
    props.put("mail.smtp.host", "smtp.wanadoo.fr"); ou props.put("mail.smtp.host", "smtp.societe.com");


    Merci de votre aide

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Dans la mesure du possible, on inscrit comme serveur SMTP le serveur de sa société. Celui-ci enverra alors le courriel vers la bonne adresse.

  10. #10
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 49
    Points : 51
    Points
    51
    Par défaut
    D'accord merci.

    Mais lorsque j'essaie d'envoyer un mail en mettant le smpt de ma societe vers un mail wanadoo, cela ne marche pas.

    Alors que si je fait l'inverse, c'est-à-dire envoyé un message depuis le mail de ma sociéte mais en mettant le smpt de wanadoo (mail.wanadoo.fr) bah ça marche....

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Normal : il faut certainement certains droits pour envoyer un mail depuis le serveur SMTP de ta société. Demande ceux-ci à tes administrateurs réseaux.

  12. #12
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 49
    Points : 51
    Points
    51
    Par défaut
    Bah normalement il n'y a pas de souci sur ce point de vue. Est-ce que le fait que je travaille sur une machine virtuelle change quelque chose ??

  13. #13
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par bugz57 Voir le message
    Alors que si je fait l'inverse, c'est-à-dire envoyé un message depuis le mail de ma sociéte mais en mettant le smpt de wanadoo (mail.wanadoo.fr) bah ça marche....
    Question : tu utilises le réseau de ta société ou une connexion Internet via Wanadoo ?


    Il faut utiliser le serveur SMTP de votre réseaux car les accès aux SMTP distant sont généralement bloqué (à moins d'utiliser un SMTP sécurisé via authentification forte).

    a++

  14. #14
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 49
    Points : 51
    Points
    51
    Par défaut
    Ce qui ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SimpleEmail email = new SimpleEmail();
    			email.setHostName("smtp.societe.com");
    			email.addTo("kelkundotre@wanadoo.fr");
    			email.setFrom("moi@societe.com");
    			email.setSubject(sujet);
    			email.setMsg(message);
    			email.send();
    Ce qui marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SimpleEmail email = new SimpleEmail();
    			email.setHostName("mail.wanadoo.fr");
    			email.addTo("kelkundotre@wanadoo.fr");
    			email.setFrom("moi@societe.com");
    			email.setSubject(sujet);
    			email.setMsg(message);
    			email.send();
    Wala

  15. #15
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Que te renvoient les email.send() ? C'est une chaîne de caractère, mais quel en est le contenu ?

  16. #16
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Question : tu utilises le réseau de ta société ou une connexion Internet via Wanadoo ?

  17. #17
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    J'ai une petite question qui est du même style que celle de bugz57

    Alors voilà lorsque j'essaie d'envoyé un message à une adresse kelkun@gmail.com depuis mon adresse moi@societé.com en utilisant le serveur smpt.gmail.com, les logs me disent qu'il y a une erreur d'identifiant.

    Si je voulais l'envoyé depuis mon adresse gmail je comprendrais qu'il faut m'identifier, mais pourquoi me demande-t-il cela alors que je veux envoyé un message vers cette adresse ?

    Merci d'avance

    Yep_yep

  18. #18
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Yep_yep Voir le message
    ... en utilisant le serveur smpt.gmail.com
    L'important n'est pas l'adresse du destinataire ou de l'expéditeur, mais bel et bien le serveur SMTP utilisé.


    La plupart des serveurs SMTP utilise le port 25, et ne sont accessible QUE depuis un poste du même réseau.

    Ainsi par exemple les smtp d'Orange/Wanadoo/Free/Neuf/etc ne sont accessible QUE si tu utilises une de leurs connexion internet respectif.

    Impossible d'utiliser le SMTP de Free depuis une ligne Orange, et inversement...


    La raison est toute simple : le SMTP ne nécessite pas d'authentification, et dans la plupart des cas ne vérifie pas l'adresse de l'expéditeur ! N'importe qui pourrait l'utiliser pour envoyer des emails (bref ce serait le rêve pour les spammeur). En limitant l'accès au poste de leurs réseau il est plus facile de bloquer cela (le serveur SMTP peut connaitre facilement l'abonné via son adresse IP).




    Maintenant le cas de GMail est différent : il n'utilise pas le port 25 et nécessite une authentification. Il faut donc configurer Javamail de la sorte (mais j'avoue ignorer comment). Essayes de te référer aux infos de configuration des postes client : http://mail.google.com/support/bin/a...y?answer=78799





    @bugz57 : pour t'aider il faudrait savoir quel connexion internet tu utilises...

    a++

  19. #19
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Le serveur GMail est une implémentation fidèle du protocole SMTP, à ceci près qu'il utilise une intercouche de sécurité (au protocole TLS). C'est pour accéder à cette couche de sécurité qu'il te faut un login et un mot de passe.

    Il faut donc entamer une discussion SMTP après avoir géré le protocole TLS. En gros, tu encapsules ton protocole SMTP dans un protocole TLS.

    Pour en savoir plus, il y a cette page qui peut t'aider. Bien qu'elle ne traite pas de SMTP, la démarche est similaire.

  20. #20
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    Ok merci

    Donc si je veux envoyé un mail via javamail et le serveur smtp je dois posséder un compte gmail. C'est bien ça ?

Discussions similaires

  1. [JavaMail] Envoi de pièce jointe
    Par log2n dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 08/11/2013, 09h34
  2. [javamail] envoi mail avec message en pièce jointe
    Par k4eve dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/11/2007, 11h17
  3. [Javamail] Envoi mail avec plusieurs smtp
    Par igloof dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 02/11/2006, 12h08
  4. petit trou de mémoire avec CDO.Configuration envoie de mail SMTP
    Par thierry007 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/09/2006, 21h39
  5. JavaMail:Envoi de Mail
    Par gagalive dans le forum API standards et tierces
    Réponses: 21
    Dernier message: 28/06/2006, 17h53

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