Bonjour, comme chacun sait, il est presqu'impossible de trouver un SMTP librement utilisable pour envoyer des mails de n'importe où...
Voilà ma question:
je possède un compte yahoo, donc je pourrais utiliser son smtp en mode authentifié mais je n'y arrive pas...
je ne vois que 3 solutions:
- Pouvez-vous me donner un serveur smtp librement utilisable ?
- Pouvez-vous me dire comment faire pour avoir le serveur SMTP de la connexion en cours sur lequelle une application tourne ?
- Pouvez-vous me dire ce qu'il cloche dans mon programme car je ne peux pas envoyer de mails via yahoo mais je le peux via mon FAI (mais je veux que ce soit portable donc... yahoo) ?
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 private final static String MAILER_VERSION = "Java"; public static boolean envoyerMailSMTP(String de, String a, String texte) { boolean result = false; try { Properties prop = System.getProperties(); prop.put("mail.smtp.host", "smtp.mail.yahoo.fr"); prop.put("mail.smtp.auth", "true"); Authenticator auth = new authenticateur(); //Session session = Session.getDefaultInstance(prop,null); Session session = Session.getDefaultInstance(prop,auth); Message message = new MimeMessage(session); message.setFrom(new InternetAddress(de)); InternetAddress[] internetAddresses = new InternetAddress[1]; internetAddresses[0] = new InternetAddress(a); message.setRecipients(Message.RecipientType.TO,internetAddresses); message.setSubject("sujet"); message.setText(texte); message.setHeader("X-Mailer", MAILER_VERSION); message.setSentDate(new Date()); session.setDebug(true); Transport.send(message); result = true; } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } return result; }Merci.
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 public class authenticateur extends Authenticator { public PasswordAuthentication getAuthentification() { String login = /* mon compte */; String mdp = /* mon pwd mais il me semble qu'il n'y en a pas besoin pour l'indentification sur yahoo... null ? */; return new PasswordAuthentication(login, mdp); } public authenticateur() { super(); } }
Partager