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 et serveur smtp yahoo


Sujet :

API standards et tierces Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut Javamail et serveur smtp yahoo
    Bonjour, comme chacun sait, il est presqu'impossible de trouver un SMTP librement utilisable pour envoyer des mails de n'importe où...

    Voilà ma question:
    je possède un compte yahoo, donc je pourrais utiliser son smtp en mode authentifié mais je n'y arrive pas...

    je ne vois que 3 solutions:
    1. Pouvez-vous me donner un serveur smtp librement utilisable ?
    2. Pouvez-vous me dire comment faire pour avoir le serveur SMTP de la connexion en cours sur lequelle une application tourne ?
    3. Pouvez-vous me dire ce qu'il cloche dans mon programme car je ne peux pas envoyer de mails via yahoo mais je le peux via mon FAI (mais je veux que ce soit portable donc... yahoo) ?
    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
      private final static String MAILER_VERSION = "Java";
       public static boolean envoyerMailSMTP(String de, String a, String texte) {
             boolean result = false;
             try {
                  Properties prop = System.getProperties();
                  prop.put("mail.smtp.host", "smtp.mail.yahoo.fr");
                  prop.put("mail.smtp.auth", "true");
                  Authenticator auth = new authenticateur();
                  //Session session = Session.getDefaultInstance(prop,null);
                  Session session = Session.getDefaultInstance(prop,auth);
                  Message message = new MimeMessage(session);
                  message.setFrom(new InternetAddress(de));
                  InternetAddress[] internetAddresses = new InternetAddress[1];
                  internetAddresses[0] = new InternetAddress(a);
                  message.setRecipients(Message.RecipientType.TO,internetAddresses);
                  message.setSubject("sujet");
                  message.setText(texte);
                  message.setHeader("X-Mailer", MAILER_VERSION);
                  message.setSentDate(new Date());
                  session.setDebug(true);
                  Transport.send(message);
                  result = true;
             } catch (AddressException e) {
                  e.printStackTrace();
             } catch (MessagingException e) {
                  e.printStackTrace();
             }
             return result;
       }
    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
    public class authenticateur extends Authenticator {
     
        public PasswordAuthentication getAuthentification()
        {
            String login = /* mon compte */;
            String mdp = /* mon pwd mais il me semble qu'il n'y en a pas besoin pour l'indentification sur yahoo... null ? */;
     
            return new PasswordAuthentication(login, mdp);
        }
     
        public authenticateur() {
            super();
     
        }
     
    }
    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    Il n'y a personne qui peut m'aider ?

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Problème d'envoi (SMTP)
    L'utilisation des serveurs sortants SMTP de Yahoo! nécessite à présent une authentification. Afin de configurer correctement votre logiciel de messagerie pour envoyer vos e-mails, nous vous remercions de consulter les différentes aides en ligne :

    * Microsoft Outlook Express 5.x/6.x
    * Microsoft Outlook Express 4
    * Microsoft Outlook 97
    * Microsoft Outlook 98/2000/2002
    * Netscape Communicator 4.7x
    * Netscape Communicator 6.x
    * Eudora 5.x

    Si votre logiciel de messagerie ou sa version n'est pas présent dans la liste ci-dessus, vous risquez de ne pas pouvoir envoyer vos messages. Seuls ces logiciels peuvent être actuellement utilisés avec Yahoo! Mail.
    Nous avons récemment modifié notre système d'envoi de message via un serveur SMTP (serveur de courrier sortant) afin de le sécuriser encore mieux. Yahoo! Mail utilise désormais des serveurs SMTP avec authentification pour l'envoi d'e-mail avec un logiciel de messagerie.

    Ce changement nécessite une petite modification au niveau de votre logiciel de messagerie afin de pouvoir continuer à envoyer et recevoir vos e-mails. Autrement vous risquez de lire ce type de message d'erreur lors d'une tentative d'envoi depuis votre logiciel :

    Impossible d'envoyer le message car le serveur a refusé l'adresse d'email de l'expéditeur. Cette adresse était 'votre_compte_utilisateur@yahoo.fr'. Objet XXX, Compte : 'pop.mail.yahoo.com', Serveur : 'smtp.mail.yahoo.com', Protocole : SMTP, Réponse du serveur : '530 authentication required - for help go to http://help.yahoo.com/help/us/mail/pop/pop-11.html', Port : 25, Sécurisé (SSL) : Non, Erreur de serveur : 530, Numéro d'erreur : 0x800CCC78

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    oui oui nous sommes d'accord mais comme je le marque dans le code source de mon premier message, j'utilise un authenticator pour pouvoir m'authentifier...
    Mais ça ne marche toujours pas...

    Ci joint ce que j'obtient avec l'authentification...

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    DEBUG: setDebug: JavaMail version 1.4ea
    DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
    DEBUG SMTP: useEhlo true, useAuth true
    javax.mail.AuthenticationFailedException
    	at javax.mail.Service.connect(Service.java:306)
    	at javax.mail.Service.connect(Service.java:156)
    	at javax.mail.Service.connect(Service.java:105)
    	at javax.mail.Transport.send0(Transport.java:168)
    	at javax.mail.Transport.send(Transport.java:98)
    	at fr.free.miasseur.freecell.Auteur.envoyerMailSMTP(Auteur.java:154)
    	at fr.free.miasseur.freecell.Auteur.actionPerformed(Auteur.java:176)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
    	at java.awt.Component.processMouseEvent(Component.java:5488)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
    	at java.awt.Component.processEvent(Component.java:5253)
    	at java.awt.Container.processEvent(Container.java:1966)
    	at java.awt.Component.dispatchEventImpl(Component.java:3955)
    	at java.awt.Container.dispatchEventImpl(Container.java:2024)
    	at java.awt.Component.dispatchEvent(Component.java:3803)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    	at java.awt.Container.dispatchEventImpl(Container.java:2010)
    	at java.awt.Window.dispatchEventImpl(Window.java:1774)
    	at java.awt.Component.dispatchEvent(Component.java:3803)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
    	at java.awt.Dialog$1.run(Dialog.java:517)
    	at java.awt.Dialog$2.run(Dialog.java:545)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.awt.Dialog.show(Dialog.java:543)
    	at java.awt.Component.show(Component.java:1300)
    	at java.awt.Component.setVisible(Component.java:1253)
    	at fr.free.miasseur.freecell.Auteur.<init>(Auteur.java:128)
    	at fr.free.miasseur.freecell.Principal.actionPerformed(Principal.java:259)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    	at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
    	at javax.swing.AbstractButton.doClick(AbstractButton.java:282)
    	at javax.swing.plaf.basic.BasicMenuItemUI$Actions.actionPerformed(BasicMenuItemUI.java:969)
    	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1571)
    	at javax.swing.JComponent.processKeyBinding(JComponent.java:2763)
    	at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:656)
    	at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:664)
    	at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:664)
    	at javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:640)
    	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:255)
    	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:242)
    	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2840)
    	at javax.swing.JComponent.processKeyBindings(JComponent.java:2832)
    	at javax.swing.JComponent.processKeyEvent(JComponent.java:2726)
    	at java.awt.Component.processEvent(Component.java:5265)
    	at java.awt.Container.processEvent(Container.java:1966)
    	at java.awt.Component.dispatchEventImpl(Component.java:3955)
    	at java.awt.Container.dispatchEventImpl(Container.java:2024)
    	at java.awt.Component.dispatchEvent(Component.java:3803)
    	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1810)
    	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:672)
    	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:920)
    	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:798)
    	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:636)
    	at java.awt.Component.dispatchEventImpl(Component.java:3841)
    	at java.awt.Container.dispatchEventImpl(Container.java:2024)
    	at java.awt.Window.dispatchEventImpl(Window.java:1774)
    	at java.awt.Component.dispatchEvent(Component.java:3803)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Si votre logiciel de messagerie ou sa version n'est pas présent dans la liste ci-dessus, vous risquez de ne pas pouvoir envoyer vos messages. Seuls ces logiciels peuvent être actuellement utilisés avec Yahoo! Mail.
    Moi, ce que j'en dis

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    ben en fait thunderbird n'est pas dans la liste et ça marche ... (oui d'accord avec une extension)
    Bon, dans le cas où ce n'est vraiment pas possible, ce que je sens que je vais prendre pour base, est-il possible de trouver le smtp du FAI de l'utilisateur... parce que dans ce cas c'est réglé...

    Je pense que cette solution est encore plus dure à trouver... car même si on trouve que par exemple le FAI de la personne est Free... on peut supposer que c'est smtp.free.fr, mais c'est une supposition très osée... car imaginons que l'application tourne au Gabon avec un FAI nommé pour l'occasion "Riviere", on ne peut pas supposer que son serveur smtp est smtp.riviere.com

    J'en veux pour exemple encore et toujours Yahoo: on aurait pu supposer que son serveur smtp était smtp.yahoo.fr ou smtp.yahoo.com ... Finalement non, non et encore non...

    Donc vraiment, je l'accorde la solution est réellement de pouvoir trouver le serveur smtp du provider...

    ... solution ou problème...
    Quand la réponse est la question, on sait qu'on tourne en rond...


    C'est mal parti cette histoire... A moins d'une idée géniale...

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    le mieux restant d'externaliser les informations à propos du provider dans un fichier de configuration que tu allimente durant la procédure d'installation

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    J'y ai bien pensé mais - sincèrement - je ne pense pas que le commun des mortels sache ce qu'est un serveur smtp...

    Je suis d'accord que par force je vais bien être forcé de me rendre à l'évidence mais serait-il possible de connaître le free.fr au moins du smtp.free.fr ?

Discussions similaires

  1. Serveur SMTP avec JavaMail
    Par developpCathy dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 18/07/2011, 16h28
  2. Javamail - connexion au serveur SMTP
    Par caddy dans le forum Général Java
    Réponses: 5
    Dernier message: 14/02/2011, 18h17
  3. [javamail] connection au serveur smtp impossible!
    Par cartman97 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 09/06/2010, 23h39
  4. [JavaMail] erreur de connexion au serveur SMTP
    Par herguem dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 01/08/2009, 10h41
  5. Envoi d'un mail avec serveur SMTP Yahoo
    Par Premium dans le forum Modules
    Réponses: 3
    Dernier message: 20/10/2007, 00h22

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