2015-12-21 5 views
1

Je veux envoyer un courriel en utilisant javax.mail. Quand je cours le code suivant il me donne cette erreur Aucun fournisseur pour hwangheera4hagarmaher. Où est le problème et comment puis-je corriger cette erreur?Envoi de courrier électronique à l'aide de javax?

le code i utilisé est la suivante:

public static boolean SendMail (String subject, String from, String Password, String Message, String to[]) 
{ 
    String Host = "[email protected]"; 

    Properties Property = System.getProperties(); 
    Property.put("mail.hwangheera4hagarmaher.starttls.enable", true); 
    Property.put ("mail.hwangheera4hagarmaher.host", Host); 
    Property.put ("mail.hwangheera4hagarmaher.user", from); 
    Property.put ("mail.hwangheera4hagarmaher.password", Password); 
    Property.put ("mail.hwangheera4hagarmaher.port", 587); 
    Property.put ("mail.hwangheera4hagarmaher.auth", "true"); 

    Session session = Session.getDefaultInstance(Property, null); 

    MimeMessage message = new MimeMessage (session); 

    try 
    { 
     message.setFrom(new InternetAddress (from)); 

     InternetAddress [] toAddress = new InternetAddress[to.length]; 

     for (int i = 0; i < to.length; i++) 
     { 
      toAddress [i] = new InternetAddress (to[i]); 
     } 

     for (int i = 0; i < toAddress.length; i++) 
     { 
      message.addRecipient(RecipientType.TO, toAddress[i]); 
     } 

     message.setSubject (subject); 
     message.setText(Message); 

     Transport transport = session.getTransport("hwangheera4hagarmaher"); 
     transport.connect (Host, from, Password); 
     transport.sendMessage(message, message.getAllRecipients()); 
     transport.close(); 

     return true; 
    } 
    catch (MessagingException ex) 
    { 
     showMessageDialog (null, ex); 
    } 
return false; 
} 

Répondre

1

Remplacer hwangheera4hagarmaher avec smtp dans tous les accessoires et getTransport()à moins que vous avez codé un fournisseur par ce nom vous-même.

Votre nom d'hôte doit être un serveur et non une adresse e-mail. Peut-être smtp.gmail.com?

Par défaut Google fournit des précautions de sécurité pour l'utilisation de tout accès externe, en particulier si vous utilisez des cadres de messagerie pour accéder à votre compte, vous devez d'abord donner accès, connectez-vous à votre compte, puis allez à:

https://accounts.google.com/DisplayUnlockCaptcha

Ensuite, suivez le reste pour autoriser l'accès à votre compte.

+0

cette erreur n'existe plus, mais gmail a empêché le code d'envoyer le courrier:/ –

+0

Cela devrait vous aider: https://support.google.com/accounts/answer/6010255?hl=fr – Jan

+0

Cela a-t-il résolu le problème? (voir aussi edit?) – Jan