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 :

[JavaMal] SMTPSendFailedException lors de l'envoie de courier


Sujet :

API standards et tierces Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26
    Points : 17
    Points
    17
    Par défaut [JavaMal] SMTPSendFailedException lors de l'envoie de courier
    bonjour
    j'ai essayé d'envoyé un email à travers ce code au dessous ça fonctionnait mais quand j'ai changé de fournisseur d'accès il m'a causé plusieurs erreurs malgré que j'ai tenté de le modifier pour fonctionner mais rien ne change

    voilà le 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
    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
    package envoiemail;
    import javax.mail.internet.*;
    import javax.mail.*;
    import java.util.*;
     
     
    public class Test {
     
     
    public static void main (String[] args) throws Exception {
     
    String host = "smtp.gnet.tn"; 
     
            String from = "address1@hotmail.fr ";
            String to = "addresse2@hotmail.fr";
     
     
     
             // Get system properties
            Properties properties = System.getProperties();
     
            // Setup mail server
            properties.setProperty("mail.smtp.host", host);
     
     
     
     
            // Get the default Session object.
            Session session = Session.getDefaultInstance(properties);
     
            // Create a default MimeMessage object.
            MimeMessage message = new MimeMessage(session);
     
            // Set the RFC 822 "From" header field using the
            // value of the InternetAddress.getLocalAddress method.
            message.setFrom(new InternetAddress(from));
     
            // Add the given addresses to the specified recipient type.
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
     
            // Set the "Subject" header field.
            message.setSubject("salut!");
     
            // Sets the given String as this part's content,
            // with a MIME type of "text/plain".
            message.setText("bienvenu dans notre groupe ");
     
            // Send message
            Transport.send(message);
     
             System.out.println("Message Send.....");
     
    }
     
     }

    il m'a généré ces erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Exception in thread "main" com.sun.mail.smtp.SMTPSendFailedException: 554 5.7.1 <address1@hotmail.fr>: Sender address rejected: Access denied
     
            at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1829)
            at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1368)
            at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:886)
            at javax.mail.Transport.send0(Transport.java:191)
            at javax.mail.Transport.send(Transport.java:120)
            at envoiemail.Test.main(Test.java:83)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 2 seconds)
    merci de m'aidez à résoudre ce problème.

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Access denied
    On pourrait commencer par indiquer un utilisateur et son mot de passe ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26
    Points : 17
    Points
    17
    Par défaut Envoi email avec classe jav + javaMail
    j'ai essayé de m'authentifier au serveur mais le problème persiste

    voilà le nouveau 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
    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
     
     
     
    package miniprojet;
     
    import javax.mail.*;
    import javax.mail.internet.*;
    import java.util.*;
    import javax.activation.DataHandler;
    import javax.activation.DataSource;
    import javax.activation.FileDataSource;
     
     
    public class Email {
     
     
        public static void main (String[] args) throws Exception {
     
     
     
     
      String smtpHost = "smtp.gnet.tn";
        String from = "monemail@hotmail.fr";
        String to = "email_destination@hotmail.fr";
        String username = "monemail";
        String password = "password_de_monemail";
     
        Properties props = new Properties();
        props.put("mail.smtp.host", smtpHost);
        props.put("mail.smtp.auth", "true");
     
     
     
        Session session = Session.getDefaultInstance(props);
        session.setDebug(true);
     
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
        message.setSubject("Hello");
        message.setText("Hello World");
     
        Transport tr = session.getTransport("smtp");
        tr.connect(smtpHost, username, password);
        message.saveChanges();
     
        tr.send(message);
    }
     
    }
    il m'a généré ces erreurs je crois que c'est un problème de port 25 !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Exception in thread "main" javax.mail.AuthenticationFailedException: 535 5.7.8 Error: authentication failed: authentication failure
     
            at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:648)
            at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:583)
            at javax.mail.Service.connect(Service.java:291)
            at javax.mail.Service.connect(Service.java:172)
            at envoiemail.Test.main(Test.java:37)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 2 seconds)

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 797
    Points
    4 797
    Par défaut
    On peut essayer avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tr.sendMessage(message,message.getAllRecipients());
    J'ai vu dans un vieux post que la méthode .send semble ne pas fonctionner avec l'authentification.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Si le serveur ne supporte pas SMTP-AUTH tu n'arriveras pas à t'authentifier parce qu'il n'y a pas d'authentification pour SMTP.

    Essaye plutôt d'envoyer un mail tout court, c'est à dire via un autre serveur SMTP avec ce code mais pour moi c'est juste ton FAI qui filtre les flux sortants sur le port 25, c'est un grand classique des FAI pour contrer le SPAM malgré que ce soit ultra crado comme méthode.
    Donc ce qu'il te faut tester, c'est si ce code fonctionne en envoyant un mail via le SMTP standard de ton FAI. L'adresse mail du sender n'a aucune importance, il peut même ne pas y en avoir.

    Sinon si tu es certain que le serveur SMTP supporte SMTP-AUTH et que tes logins et mot de passe sont les bons j'ai l'impression qu'il manque une propriété à passer à true dans ton code c'est "mail.smtp.starttls.enable" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Properties props = new Properties();
    props.put("mail.smtp.host", smtpHost);
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true"); 
     
    Session session = Session.getDefaultInstance(props);
    session.setDebug(true);
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

Discussions similaires

  1. Problème lors de l'envoie d'un mail (JavaMail)
    Par nicofromChina dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 09/05/2006, 10h23
  2. [MySQL] Exécuter 2 actions lors de l'envoi d'un formulaire
    Par mathieu7497 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/03/2006, 21h16
  3. [javamail] pb lors de l'envoi d'un mail
    Par mawashee dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 08/09/2005, 16h50
  4. A respecter lors de l'envoi d'un message (Version 2)
    Par Aurelien.Regat-Barrel dans le forum Windows
    Réponses: 0
    Dernier message: 04/01/2003, 15h59

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