[JavaMail] envoyer mail en java
bonjour;
j'ai une fonction java qui me permet d'envoyer un mail.cette fonction ça marche bien avec le server mail mozilla.mais quand j'ai fait un test pour un server Microsoft Outlook 2003 configurée avec un serveur Microsoft Exchange ça marche pas.
le code de ma fonction java:
public void SenderMail() {
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
| //Nous devons passer les informations au serveur de messagerie sous forme de propriétés
System.out.println("---->Entrer fonction SenderMail");
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
System.out.println("**** mail.transport.protocol : smtp ****");
props.setProperty("mail.host", "ip_serveur");
System.out.println("**** mail.host :"+ ip_serveur+"****");
//Créer objet Session.
System.out.println("****create session*****");
session = Session.getDefaultInstance(props, null);
System.out.println("*****Debug mode : true ****");
session.setDebug(true);
try {
//Créer un message mail
System.out.println("*****Créer un message mail****");
mesg = new MimeMessage(session);
//Adresse From - Indiquer la provenance du mail
mesg.setFrom(new InternetAddress("expMail"));
//Adresse TO.
System.out.println("*****Adresse TO ****");
InternetAddress toAddress = new InternetAddress("adresseto");
mesg.addRecipient(Message.RecipientType.TO, toAddress);
mesg.setSubject("mailObjet");
//Text mail
mesg.setText("mailText");
//envoyer mail
System.out.println("*****send mail****");
Transport.send(mesg);
System.out.println("*****mail is sent****");
System.out.println(" sortie fonction SenderMail----->");
} catch (MessagingException ex) {
while ((ex = (MessagingException)ex.getNextException()) != null) {
ex.printStackTrace();
}
}
} |
la trace d'execution de la fonction d'envoi de mail me donne:
Citation:
MAIL FROM:<xxxx@domaine>^M
250 Ok^M
RCPT TO:<xxxx@domaine>^M
554 <xxxx@domaine>: Relay access denied^M
DEBUG SMTP: Invalid Addresses
DEBUG SMTP: xxxx@domaine
DEBUG SMTP: Sending failed because of invalid destination addresses
RSET^M
250 Ok^M
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
class com.sun.mail.smtp.SMTPAddressFailedException: 554 <xxxx@domaine>: Relay access denied
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1130)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:525)
at javax.mail.Transport.send0(Transport.java:151)
at javax.mail.Transport.send(Transport.java:80)
note:
pas de probleme pour les parametres ip_serveur ,expmail,... .je les recupere a partir d'un fichier conf.
quelqu'un a une information sur ce genre de probleme?
merci.