Voici les imports qui fonctionnent chez moi
et pour les jar nécessaires
mailapi.jar et smtp.jar suffisent normalement
Par Sanae,
import javax.mail.;
import javax.mail.internet.;
import javax.mail.internet.MimeMessage;
import java.util.*;
public class EmailGmail {
private void envoyerGMail(String pseudo, String motDePasse, String expediteur, String destinataires[], String sujet, String message) throws MessagingException
{
//Configurer serveur smtp
Properties props=new Properties();
props.put("mail.smtp.host", "smtp.gmail.com"); //smtp.mail.yahoo.fr pour Yahoo
props.put("mail.smtp.ssl.trust", "smtp.gmail.com"); //smtp.mail.yahoo.fr pour Yahoo
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
//Envoyer pseudo et mot de passe
Session session=Session.getInstance(props, new Authenticator()
{
@Override
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(pseudo, motDePasse);
}
});
//Créer message
Message msg=new MimeMessage(session);
//Configurer expéditeur
InternetAddress adrExpediteur=new InternetAddress(expediteur);
msg.setFrom(adrExpediteur);
//Configurer destinataires
InternetAddress[] adrDestinataires=new InternetAddress[destinataires.length];
for (int i=0;i;<destinataires.length;i++)
{
adrDestinataires[i]=new InternetAddress(destinataires[i]);
}
msg.setRecipients(Message.RecipientType.TO, adrDestinataires);
//Sujet et corps du message
msg.setSubject(sujet);
msg.setContent(message, "text/plain");
Transport.send(msg);
}
//Utilisation
String pseudo="monPseudo";
String motDePasse="monMotDePasse";
String expediteur="moPseudo@gmail.com";
String destinataires[]={"moPseudo@xxxx.xxx"};
String sujet="Pas de sujet";
String message="Salut ! Mail envoyé par Java !";
try
{
envoyerGMail(pseudo, motDePasse, expediteur, destinataires, sujet, message);
affiche("Mail envoyé !");
}
catch(MessagingException ex)
{
affiche(String.valueOf(ex));
}
}
Les erreurs:
Description Resource Path Location Type
The method affiche(String) is undefined for the type EmailGmail EmailGmail.java /EmailGmail/src/EmailGmail line 59 Java Problem
The method affiche(String) is undefined for the type EmailGmail EmailGmail.java /EmailGmail/src/EmailGmail line 63 Java Problem
The method setContent(String, String) is undefined for the type Message EmailGmail.java /EmailGmail/src/EmailGmail line 46 Java Problem
The method setFrom(InternetAddress) is undefined for the type Message EmailGmail.java /EmailGmail/src/EmailGmail line 34 Java Problem
The method setSubject(String) is undefined for the type Message EmailGmail.java /EmailGmail/src/EmailGmail line 45 Java Problem
Description Resource Path Location Type
No exception of type MessagingException can be thrown; an exception type must be a subclass of Throwable EmailGmail.java /EmailGmail/src/EmailGmail line 10 Java Problem
RecipientType cannot be resolved or is not a field EmailGmail.java /EmailGmail/src/EmailGmail line 42 Java Problem
Veuillez m'aider s'ils vous plaît.
Merci d'avance.
Voici les imports qui fonctionnent chez moi
et pour les jar nécessaires
mailapi.jar et smtp.jar suffisent normalement
Bonjour,
le nom complet de la classe MessagingException est javax.mail.MessagingException
de ce fait, pour l'importer tu peux faire
sinon tu importes toutes les classes de javax.mail
c'est sans doute ce qu'est censé faire ta première ligne mais il manque l'étoile !!!
Pour afficher le message d'une Exception il faut utiliser getMessage()
Bonjour,
Merci pour ta réponse.
j'ai ajouté ce tu m'a dit , cependant j'ai les mêmes erreurs.
Tu as des erreurs car tu utilises la classe Message au lieu de MimeMessage
remplaces
par
la classe MimeMessage hérite de Message mais possède des méthodes en plus
Chose importante, l'API javaMail est dans un package à part, il faut le télécharge ici