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() {
la trace d'execution de la fonction d'envoi de mail me donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } } }
note: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)
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.
Partager