Bonjour,
Voilas j'ai ce code :
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| package com.sdzee.javamail;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
import com.sdzee.servlets.Mail;
public class Javamail {
public static void main (String[] args) throws Exception {
}
public void Javamailmethod (){
String email = Mail.VarMail();
String host = "smtp.gmail.com";
String from = "monadresse@gmail.com";
//String to = email ;
String to = "adressedestinataire@gmail.com";
String username = "monadresse@gmail.com";
String password = "monmotdepasse";
Properties props = new Properties();
props.setProperty("mail.smtp.ssl.enable", "true");
props.setProperty("mail.smtp.ssl.socketFactory.class",
"DummySSLSocketFactory");
props.setProperty("mail.smtp.ssl.socketFactory.fallback", "false");
Session session = Session.getInstance(props, null);
session.setDebug(true);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Hello");
message.setText("Hello World");
Transport tr = session.getTransport("smtp");
tr.connect(host, username, password);
message.saveChanges();
tr.sendMessage(message,message.getAllRecipients());
tr.close();
}
} |
Qui fonctionne parfaitement bien quand il se trouve dans la main (il me permet d'envoyer un mail).
Mais problème du coup je ne peux pas l'appeler depuis une autre classe, de ce fait je souhaite le mettre dans ma méthode JavamailMethod mais problème, il me met en erreur toute cette partie du code :
1 2 3 4 5 6 7 8 9 10 11 12
|
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Hello");
message.setText("Hello World");
Transport tr = session.getTransport("smtp");
tr.connect(host, username, password);
message.saveChanges();
tr.sendMessage(message,message.getAllRecipients());
tr.close(); |
Il propose de faire des try catch ce que j'ai fait de cette manière :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
try {
message.setFrom(new InternetAddress(from));
message.setSubject("Hello");
message.setText("Hello World");
Transport tr = session.getTransport("smtp");
tr.connect(host, username, password);
message.saveChanges();
tr.sendMessage(message,message.getAllRecipients());
tr.close();
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} |
Mais cela ne fonctionne pas, certes les erreurs ne sont plus présentes mais le code ne fait plus rien en s’exécutant.
Il me propose également de mettre
public void Javamailmethod () throws AddressException, MessagingException{
mais même résultat le code ne fait plus rien en s’exécutant.
J'ai réellement tout essayer mais j'en arrive à un point où mais quelques notions ne me permettent pas de résoudre ce problème car je ne comprennent pas l'erreur principale (pourquoi dans une méthode cette partie d code est en erreur), je m'en remets donc à vous.
Cordialement.
Partager