Bonjour,
J'ai développé une application sur des terminaux de lecture code barres Zebra sous android X.
Cette application enregistre les codes lu et les envoies par email.
Au bureau, connecté directement au wifi de la box et en utilisant un compte google gmail ou un autre fournisseur de serveur mail (infomaniak) tout fonctionne bien.
Chez mon client, je suis connecté au wifi de l'atelier (pas d’accès externe, donc pas internet), le serveur SMTP ne requière pas d'authentification, port 25, j'ai le message d'erreur suivant :
Voici mon codejavax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 25) from /:: (port 57702): connect failed: ECONNREFUSED (Connection refused)
Je suis dit que c'etait peut-etre un probleme de resolution DNS (bien que je suis en DHCP et que toutes les adresses DNS et Gateway sont OK), j'ai donc mis directement l'adresse IP du serveur dans "mail.smtp.host"
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
37
38
39
40
41
42 Properties properties = new Properties(); properties.put("mail.smtp.host", MainActivity.serveurSmtp ); properties.put("mail.smtp.localhost", MainActivity.serveurSmtp ); properties.put("mail.smtp.socketFactory.port", MainActivity.port); //properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); properties.put("mail.smtp.starttls.enable", "false"); properties.put("mail.smtp.starttls.required", "false"); properties.put("mail.smtp.ssl.enable", "false"); properties.put("mail.smtp.auth", "false"); //true properties.put("mail.smtp.port", MainActivity.port); session = Session.getDefaultInstance(properties, new javax.mail.Authenticator(){ protected PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication(MainActivity.identifiant, MainActivity.password); } }); MimeMessage mimeMessage = new MimeMessage(session); try { mimeMessage.setFrom(new InternetAddress(MainActivity.myEmail)); String[] listDest = email.split(";"); int nbrMail = listDest.length; Address[] addressList=new Address[nbrMail]; for (int i = 0; i<nbrMail; i++){ addressList[i] =new InternetAddress(listDest[i]); } mimeMessage.setRecipients(Message.RecipientType.TO, addressList); mimeMessage.setSubject(subject); Multipart emailContent = new MimeMultipart(); MimeBodyPart texbody = new MimeBodyPart(); MimeBodyPart csvAttachement = new MimeBodyPart(); csvAttachement.attachFile(nameFilePath); emailContent.addBodyPart(texbody); texbody.setText(message); emailContent.addBodyPart(csvAttachement); mimeMessage.setContent(emailContent); Transport.send(mimeMessage); } catch (MessagingException | IOException e) { e.printStackTrace(); }
J'ai desactivé l'authentification et les certificats TLS, SSL
J'ai ajouté l'adresse "mail.smtp.localhost" identique à host
Rien ne change
Merci de votre aide
Partager