Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2713 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Envoyé un mail

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Envoyé un mail

n°1984056
man_u
Posté le 14-04-2010 à 20:16:28  profilanswer
 

Bonsoir,
voici un code simple qui me permet d'envoyé un mail, le probléme c'est qu'il m'affiche une exception :
 
L'envoi du mail a échoué : 530 5.7.0 Must issue a STARTTLS command first. 22sm1194753fkr.59
 
j'utilise : smtp.<FSI>
 
voici mon code

Code :
  1. String from = "from@....com";
  2. String to = "desitnatio@....com";
  3. String subject = "le sujet...";
  4. String content = "Le message en texte ou <b>html</b>";
  5. try {
  6.    Properties props = System.getProperties();
  7.    props.put("mail.smtp.host", "smtp.gmail.com" );
  8.    Session ses = Session.getDefaultInstance(props, null);
  9.    MimeMessage message = new MimeMessage(ses);
  10.    message.setFrom(new InternetAddress(from));
  11.    message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
  12.    message.setSubject(subject);
  13.    //Envoi en HTML
  14.    message.setContent(content, "text/html" );
  15.    //ou alors pour l'envoi en texte
  16.    message.setText(content);
  17.    javax.mail.Transport.send(message);
  18.    System.err.println("Mail envoyé avec succée" );
  19. }
  20. catch (Exception e) {
  21. System.err.println("L'envoi du mail a échoué : "+e.getMessage());
  22. }


Message édité par man_u le 14-04-2010 à 20:23:38
mood
Publicité
Posté le 14-04-2010 à 20:16:28  profilanswer
 

n°1984197
phnatomass
Je m'empare de ton esprit !!
Posté le 15-04-2010 à 10:47:51  profilanswer
 
n°1984524
man_u
Posté le 15-04-2010 à 18:21:58  profilanswer
 

personne peut me dire pourquoi ce bout de code ne marche pas ?
il ne reconnais pas la ligne : MailUtils mailutils = new MailUtils();
 

Code :
  1. import java.security.Security;
  2. import java.util.Properties;
  3. import javax.mail.Message;
  4. import javax.mail.PasswordAuthentication;
  5. import javax.mail.Session;
  6. import javax.mail.Transport;
  7. import javax.mail.internet.InternetAddress;
  8. import javax.mail.internet.MimeMessage;
  9. public class SimpleMail
  10. {
  11. private String mailhost = "smtp.gmail.com";
  12. public synchronized void sendMail(String subject, String body, String sender, String recipients)                      throws Exception
  13. {
  14.  //Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
  15.  Properties props = new Properties();
  16.  props.setProperty("mail.transport.protocol", "smtp" );
  17.  props.setProperty("mail.host", mailhost);
  18.  props.put("mail.smtp.auth", "true" );
  19.  props.put("mail.smtp.port", "465" );
  20.  props.put("mail.smtp.socketFactory.port", "465" );
  21.  props.put("mail.smtp.socketFactory.class",
  22.  "javax.net.ssl.SSLSocketFactory" );
  23.  props.put("mail.smtp.socketFactory.fallback", "false" );
  24.  props.setProperty("mail.smtp.quitwait", "false" );
  25.  Session session = Session.getDefaultInstance(props,
  26.    new javax.mail.Authenticator()
  27.  {
  28.   protected PasswordAuthentication getPasswordAuthentication()
  29.   { return new PasswordAuthentication("username","password" ); }
  30.  });
  31.  MimeMessage message = new MimeMessage(session);
  32.  message.setSender(new InternetAddress(sender));
  33.  message.setSubject(subject);
  34.  message.setContent(body, "text/plain" );
  35.  if (recipients.indexOf(',') > 0)
  36.     message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));
  37.  else
  38.     message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));
  39.  Transport.send(message);
  40. }
  41. public static void main(String args[]) throws Exception
  42. {
  43.  MailUtils mailutils = new MailUtils();
  44.  mailutils.sendMail("test", "test", "from@gmail.com", "To@gmail.com" );
  45. }
  46. }

n°1984581
phnatomass
Je m'empare de ton esprit !!
Posté le 15-04-2010 à 21:40:39  profilanswer
 

remplace MailUtils par SimpleMail
 [:poutrella]

n°1984607
man_u
Posté le 16-04-2010 à 00:11:38  profilanswer
 

merci pour ton aide phnatomass. il m'affiche pas une erreur maintenant mais lors de l'exécution il m'affiche une excéption :
 

Code :
  1. Exception in thread "main" javax.mail.AuthenticationFailedException
  2. at javax.mail.Service.connect(Service.java:260)
  3. at javax.mail.Service.connect(Service.java:130)
  4. at javax.mail.Service.connect(Service.java:82)
  5. at com.sun.mail.smtp.SMTPTransport.connect(SMTPTransport.java:140)
  6. at javax.mail.Transport.send0(Transport.java:146)
  7. at javax.mail.Transport.send(Transport.java:76)
  8. at SimpleMail.sendMail(SimpleMail.java:48)
  9. at SimpleMail.main(SimpleMail.java:56)


une idée ?
 
merci

n°1984888
phnatomass
Je m'empare de ton esprit !!
Posté le 16-04-2010 à 15:00:42  profilanswer
 

dans ce code, as-tu mis ton vrai user et mot de passe  ?

Code :
  1. protected PasswordAuthentication getPasswordAuthentication()
  2. {
  3.   return new PasswordAuthentication("username", "password" );
  4. }

n°1984904
man_u
Posté le 16-04-2010 à 15:13:00  profilanswer
 

le password et user name de ma boite Gmail ? oui oui les vrais.
le probléme je croi dans le SMTP

n°1986877
bugbreeder
Posté le 23-04-2010 à 01:43:56  profilanswer
 

man_u a écrit :

le password et user name de ma boite Gmail ? oui oui les vrais.
le probléme je croi dans le SMTP


 
J'ai eu du mal aussi pour le faire fonctionner, essaie de mettre le paquet, c'est probablement trop mais chez moi ça marche :
 
* Remplace la property "mail.host" par "mail.smtp.host".
 
* Rajoute  les properties :
 
mail.smtp.user=user@gmail.com
mail.smtp.password=password
mail.smtp.starttls.enable=true
mail.smtp.ssl.enable=true
 
et pour voir ce qui se passe :
mail.smtp.debug=true
 
Et en plus dans ton code "Session session = Session.getInstance(props, ..." au lieu de "getDefaultInstance", et "session.setDebug(true);" toujours pour voir ce qui se passe.
 
Sinon ton code est correct, mais Google est très "tricky", chez moi en insistant aussi lourdement ça marche.


---------------
When injustice becomes law, resistance becomes duty (Thomas Jefferson)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Envoyé un mail

 

Sujets relatifs
Envoyé un mailWanewsletter, mail envoyé mais jamais recu
[Résolu] Mail ecrit en chinois illisible envoye via un formulairecomment creer formulaire et envoyé par mail
[MAIL] stocker les adresses emails qui ne fonctionnent pas dans une bdMettre en forme le mail envoyé par un formulaire
Problème dans un mail html envoyé avec PHPformulaire envoyé par mail???
Problème de "!" dans un mail envoyé en phpOtez les guillemets simples dans un mail envoyé via formulaire
Plus de sujets relatifs à : Envoyé un mail


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR