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]Problèmes divers...


Sujet :

API standards et tierces Java

  1. #1
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut [javamail]Problèmes divers...
    Bonjour, je veut commencer à utiliser la classe javamail mais j'ai des problèmes...

    j'ai ajouté les .jar dans la librairie de mon projet et j'ai fait le code suivant :

    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
    import java.util.Properties;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.MimeMessage;
    import javax.activation.*;
     
    public class mailer {
    	public void Function(){
    		String emailFrom = "baptistewicht@gmail.com";
    		String emailTo = "baptistewicht@hotmail.com";
     
    		Properties props = System.getProperties();
     
    		props.put("mail.smtp.host","smtp.gmail.com");
     
    		Session session = Session.getDefaultInstance(props,null);
     
    		MimeMessage msg = new MimeMessage(session);
     
    		msg.setFrom(new InternetAdress(emailFrom));
     
    		msg.addRecipients(msg.RecipientType.TO,new InternetAdress(emailTo));
     
    		msg.setSubject("test");
     
    		msg.setText("Je veut te spammer hahahahaha");
     
    		Transport.send(msg);
    	}
    }
    mais j'ai des erreurs sur :
    - msg.addRecipients(msg.RecipientType.TO,new InternetAdress(emailTo)); il me souligne en rouge msg.RecipientType.TO et me met no suggestion available

    est ce que j'ai fais une erreur de code ?? Ca m'étonnerait car c'est presque un copier-coller.... ou alors il faut encore que j'importe quelque choses... d'autres jar peut etre ???

    merci d'avance

  2. #2
    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,

    RecipientType est une classe statique et non pas un champs : tu dois donc y accéder de manière statique !!!

    Remplaces :
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Message.RecipientType.TO
    a++

  3. #3
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Merci beaucoup

    tu me sauves de bien des maux :p

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    grrr, à peine un problème, un autre se pose

    je veut juste faire une code tout simple qui envoie un mail(j'ai repris celui de chez sun) et ca me fait une grosse erreur :

    com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first q40sm2092905ugc

    at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1333)
    at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:906)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:535)
    at javax.mail.Transport.send0(Transport.java:151)
    at javax.mail.Transport.send(Transport.java:80)
    at src.Spam.spamFunction(Spam.java:34)
    at src.Gui$1.mouseClicked(Gui.java:36)
    at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    voici mon 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
    public class Spam {
    	String emailFrom = "baptistewicht@gmail.com";
    	String emailTo = "baptistewicht@hotmail.com";
    	String host = "smtp.gmail.com";
     
    	public void spamFunction(){		
    		Properties props = System.getProperties();
     
    		props.put("mail.smtp.host", host);
     
    		Session session = Session.getDefaultInstance(props, null);
     
    		MimeMessage msg = new MimeMessage(session);
     
    		try {
    			msg.setFrom(new InternetAddress(emailFrom));
    			msg.addRecipient(Message.RecipientType.TO,new InternetAddress(emailTo));
    			msg.setSubject("test");
    			msg.setText("test javamail api");
     
    			Transport.send(msg);
    		} catch (AddressException e) {e.printStackTrace();
    		} catch (MessagingException e) {e.printStackTrace();}
    	}
    }
    j'ai déja cherché dans les multiples sujets sur javamail et j'ai jamais trouvé ce problème... je sais pas d'ou il vient

    P.S. J'ai essayé sans pare-feu et sans antivirus...

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 134
    Points
    134
    Par défaut
    Bonjour

    il semble que ton serveur SMTP attende une connection securisée par TLS
    Cordialement
    Willy78

  6. #6
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    merci bien,

    mais euh , c'est quoi une connexion securisé par TLS ? et j'intègre ca comment dans mon code ?

    merci

  7. #7
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 134
    Points
    134
    Par défaut
    Verifie aupres de l'administrateur que ton serveur SMTP necessite bien une connection sécurisé (j'ai supposé que c'était le cas vu le message d'erreur).

    Avec ce genre de connection les données échangées entre le client mail et le serveur sont sécurisé par SSL.

    J'avoue n'avoir jamais mis en place une telle connection avec javamail. Logiquement, il devrait faloir utiliser une connection par ssl, donc une factory ssl pour les socket, afin que le transport soit bon. je pense que cela doit se fixer au niveau des propriétés de la session.

    Ensuite, qui dit SSL dit certificats, il doit faloir manager les certificats.

    Si qqun sait faire, je suis aussi preneur de la solution
    Willy78

  8. #8
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    oulalala, gérer une connexion SSl pour envoyer un mail en smtp...

    j'ai toujours autant de chance moi ...

  9. #9
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Je suis la seule personne à qui est arrivé ce problème ?

    Sinon, vous vous avez fait avec quoi comme adresse(hotmail, bluewin, ...) pour tester javamai ???

    car tout ce que je veut faire c'est des tests la dessus

  10. #10
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Je me suis renseigné, Gmail demande bien une connexion sécurisée par SSL malheureusement.
    Est ce que c'est possible en java d'établir une connexion sécurisée SSL avec javamail ?
    Ou alors est ce que vous connaissez un fournisseur d'adresses web gratuit qui permettent le SMTP sans SSL ?

    Merci

  11. #11
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    Citation Envoyé par wichtounet
    Je me suis renseigné, Gmail demande bien une connexion sécurisée par SSL malheureusement.
    Est ce que c'est possible en java d'établir une connexion sécurisée SSL avec javamail ?
    Ou alors est ce que vous connaissez un fournisseur d'adresses web gratuit qui permettent le SMTP sans SSL ?

    Merci
    essai peut etre avec : smtp.freesurf.ch à tester, je suis pas sur...

  12. #12
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Je vais aller voir ca, merci

  13. #13
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    BOn, j'ai essayé avec le code suivant avec freesurf.ch

    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
    public class Spam {
    	String emailFrom = "baptistewicht@freesurf.ch";
    	String emailTo = "baptistewicht@caramail.com";
    	String password = "...";
    	String host = "smtp.freesurf.ch";
     
    	public void spamFunction(){		
    		Properties props = System.getProperties();
     
    		props.put("mail.smtp.host", host);
     
    		Session session = Session.getDefaultInstance(props, null);
     
    		MimeMessage msg = new MimeMessage(session);
     
    		try {
    			msg.setFrom(new InternetAddress(emailFrom));
    			msg.addRecipient(Message.RecipientType.TO,new InternetAddress(emailTo));
    			msg.setSubject("test");
    			msg.setText("test javamail api");
     
    			Transport transport = session.getTransport("smtp");
    			transport.connect(host,"baptistewicht",password);
    			transport.sendMessage(msg,msg.getAllRecipients());
    		} catch (AddressException e) {e.printStackTrace();
    		} catch (MessagingException e){e.printStackTrace();}
    	}
    }
    et cette fois ca me met l'erreur suivante :
    javax.mail.SendFailedException: Invalid Addresses;
    nested exception is:
    class com.sun.mail.smtp.SMTPAddressFailedException: 550 RCPT TO:<baptistewicht@caramail.com> Relaying not allowed - please use SMTP AUTH

    at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1141)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:536)
    at src.Spam.spamFunction(Spam.java:35)
    at src.Gui$1.mouseClicked(Gui.java:36)
    at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

  14. #14
    Membre habitué Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 164
    Points
    164
    Par défaut
    Mais normalement tu devrai utiliser le smtp de ton FAI (qui n'est certainement pas google)

  15. #15
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    euh... la j'ai pas compris, pourquoi tu me parle de google ?

    j'ai employé gmail car il permet d'envoyer des emails via SMTP malheureusement pour cela, gmail demande une connexion sécurisé SSL et apres j'ai essayé freesurf mais j'ai une autre erreur

  16. #16
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 134
    Points
    134
    Par défaut
    Bonjour

    Si tu veux envoyer un message sur une adresse mail baptistewicht@caramail.com tu as deux solutions:

    Soit tu t'adresses au serveur SMTP correspondant à caramail.com
    Soit tu utilises le serveur SMTP de ton FAI.
    Dans ton cas, tu te connectes à smtp.freesurf.ch. Tu ne peux envoyer des messages qu'a des utilisateurs du domaine freesurf.ch. Au vu du message d'erreur,
    550 RCPT TO:<baptistewicht@caramail.com> Relaying not allowed - please use SMTP AUTH
    il faut que tu soit authentifié pour envoyer un message.

    Pour cela voir:http://www.developpez.net/forums/vie...853&highlight=

    Cordialement
    Willy78

  17. #17
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Ah ok...

    en tout cas merci beaucoup

    J'avais pas bien compris ca, je pensais qu'il fallait que je me connecte au serveur SMTP de mon adresse email...

    mais un truc est nul...

    apres j'aimerais que mon code soit dynamique et que je saississe l'adresse du destinataire dans un JTextField, commen faire pour qu'il arrive sur le bon smtp ???

    P.S. Si j'ai bien compris, on peut envoyer des mails seulement à partir d'une adresse chez notre Fai ?

  18. #18
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Voila, j'ai réussi à envoyer mon premier mail avec javamail ^^

    mais j'ai une autre question, quand on fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Transport transport = session.getTransport&#40;"smtp"&#41;; 
             transport.connect&#40;host,"baptistewicht",password&#41;; 
             transport.sendMessage&#40;msg,msg.getAllRecipients&#40;&#41;&#41;;
    C'est la connexion sur quoi ???? On doit mettre notre mot de passe de notre compte mail ou alors nos identifiants sur notre FAI ?

    merci

  19. #19
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    voila, j'ai enfin un code qui marche bien

    merci beaucoup à tous ceux qui m'ont aidé 8)

    et je viens de tout comprendre

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Points : 10
    Points
    10
    Par défaut semBY
    peux mettre ton code final?

    avec des termes explicites (genre : mot de passe FAI...)

    merci d'avance;

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [JavaMail] Problème de cast en Multipart
    Par nico_somb dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 07/06/2006, 10h16
  2. [JTable] problèmes divers
    Par Tentative dans le forum Composants
    Réponses: 6
    Dernier message: 05/12/2005, 20h00
  3. [javamail] Problème avec Hotmail ?
    Par Cyborg289 dans le forum API standards et tierces
    Réponses: 58
    Dernier message: 14/09/2005, 15h51
  4. Réponses: 1
    Dernier message: 08/03/2005, 16h19
  5. [Info] Insert/Update si problèmes divers
    Par portu dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/07/2004, 11h17

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