Programme java pour envoi de mail

Fermé
elkadiri.wd Messages postés 127 Date d'inscription dimanche 24 mars 2013 Statut Membre Dernière intervention 31 mai 2015 - 6 juin 2013 à 19:32
Zlatanette37 Messages postés 1 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 19 juin 2013 - 19 juin 2013 à 09:48
Bonjour,


J'ai un programme pour l'envoi de Mail qui ne fonctionne pas. il ne me donne pas d'erreurs mais il n'envoi pas les messages. voilà le code :

classe SendMail:

package pack1;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMail {

private String from;
private String to;
private String subject;
private String text;

public SendMail(String from, String to, String subject, String text){
this.from = from;
this.to = to;
this.subject = subject;
this.text = text;
}

public void send(){

Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "465");

Session mailSession = Session.getDefaultInstance(props);
Message simpleMessage = new MimeMessage(mailSession);

InternetAddress fromAddress = null;
InternetAddress toAddress = null;
try {
fromAddress = new InternetAddress(from);
toAddress = new InternetAddress(to);
} catch (AddressException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
}

try {
simpleMessage.setFrom(fromAddress);
simpleMessage.setRecipient(RecipientType.TO, toAddress);
simpleMessage.setSubject(subject);
simpleMessage.setText(text);

Transport.send(simpleMessage);
} catch (MessagingException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
}
}
}

Classe Main :


package pack1;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SendMail s1=new SendMail("groupeisi2013@gmail.com", "elkadiri.wd@gmail.com", "Test send mail", "Avez vous reçu mon mail?? By Abdelouhab elkadiri");
s1.send();
}

}


pouvez vous m'aider.
A voir également:

8 réponses

tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
6 juin 2013 à 22:11
Salut, je suppose que tu envoies ton mail en SSL,
Deux Observations:
1-A aucun moment tu ne t'authentifies(En gros tu demande au serveur smtp gmail d'envoyer un mail et tu dois lui préciser un compte et un mdp)
2-Ta gestion des Exceptions n'est pas la meilleure, Normal que tu n'obtiennes pas d'erreur (ça donne l'impression que tout marche)
Pourtant ton Transport.send()//Je doute qu'il marche : il devrait te renvoyer une exception du genre hote introuvable!

Commence déja par faire afficher la trace de ton exception lorsque tu l'attrapes et à partir de là tu verra plus clair si un autre pb survient.

Rajoutes aussi ces lignes :



props.put("mail.smtp.socketFactory.port", "465");
		props.put("mail.smtp.socketFactory.class",
				"javax.net.ssl.SSLSocketFactory");
		props.put("mail.smtp.auth", "true");

Ensuite pour créer ta session, tu le fais comme ceci:


Session session = Session.getDefaultInstance(props,
			new javax.mail.Authenticator() {
				protected PasswordAuthentication getPasswordAuthentication() {
					return new PasswordAuthentication("username","password");
				}
			});


Avec celà ça devrait aller.

Au besoin essaie déja de faire fonctionner ton programme en local via un serveur de messagerie que tu telecharge en ligne et tu configure.
Hamster par exemple est très facile à mettre en oeuvre. une fois que ça marche en local alors tu peux essayer en ligne

Bon courage!

0
elkadiri.wd Messages postés 127 Date d'inscription dimanche 24 mars 2013 Statut Membre Dernière intervention 31 mai 2015 1
6 juin 2013 à 22:39
j'obtiens ces erreurs :s

Exception in thread "main" java.lang.SecurityException: Access to default session denied
at javax.mail.Session.getDefaultInstance(Session.java:327)
at javax.mail.Session.getDefaultInstance(Session.java:355)
at pack1.SendMail.send(SendMail.java:47)
at pack1.Test.main(Test.java:11)
0
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
6 juin 2013 à 23:59
euh....
PasswordAuthentication("username","password");


J'espère que ta ligne 41 correspond bien à celle ci-haut et que tu as bien retenu que lorsque j'écris ("username","password") il faut renseigner ton nom d'utilisateur et ton mot de passe!!
0
elkadiri.wd Messages postés 127 Date d'inscription dimanche 24 mars 2013 Statut Membre Dernière intervention 31 mai 2015 1
7 juin 2013 à 17:24
si je les ai rempli !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
8 juin 2013 à 01:32
Essaie en local!
0
elkadiri.wd Messages postés 127 Date d'inscription dimanche 24 mars 2013 Statut Membre Dernière intervention 31 mai 2015 1
Modifié par elkadiri.wd le 8/06/2013 à 11:25
comment faire pour essayer en local?

C'est en forgeant qu'on devient forgeron.
0
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
12 juin 2013 à 02:20
Hamster Mail server, c'est un serveur de messagerie que tu peux paramétrer en local en quelques clics et hop tu as ton propre serveur, avec une adresse smtp
que tu utilisera à la place de "smtp.google...."
Ensuite il te suffira de paramétrer un client de messagerie (Outlook/Thunderbid) pour pouvoir recevoir tes mails mais c pas obligatoire, tu peux les voir dans l'interface de Hamster
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
8 juin 2013 à 14:23
Sinon il y a une librairie existante côté Apache :

http://commons.apache.org/proper/commons-email/userguide.html

A voir si cela peut répondre à ton besoin, mais je suis sûr que oui :-)
0
Zlatanette37 Messages postés 1 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 19 juin 2013
Modifié par Zlatanette37 le 19/06/2013 à 10:29
Bonjour,

Est ce que la solution a été trouvé?
Je rencontre le même problème, je ne peux pas télécharger Hamster du travail (accès bloqué) je continue de chercher pour trouver ce qui peut bloquer. Si quelqu'un trouve entre temps je prend :)
0