ernst | J'ai un serveur SMTP avec authentification et SSL.
Pour tester ce serveur, j'essaie de me connecter avec Outlook, telnet, no pb, ca marche.
Lorsque j'essaie avec mon prog, il me dit "could not connect to SMTP host..."
Voici le code:
Code :
- String username = "monCompte";
- String password = "monPassword";
- String smtphost = "smtp.monserveur.fr";
- String subject = "This is a JavaMail API Test";
- String from = "moi@monmail.com";
- String to = "toi@monmail.com";
- String mailer = "JavaMail API";
- EmailAuthenticator authenticator = new EmailAuthenticator(username, password);
- try {
- Properties props = System.getProperties();
- props.put("mail.debug", "true" );
- props.put("mail.smtp.auth", "true" );
- java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
- props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory" );
- props.setProperty("mail.smtp.socketFactory.fallback", "false" );
- props.setProperty("mail.smtp.socketFactory.port", "25" );
- props.setProperty("mail.smtp.host", smtphost);
- props.setProperty("mail.smtp.port", "25" );
- props.setProperty("mail.smtp.timeout", ""+300*1000);
- props.setProperty("mail.smtp.connectiontimeout", "" + 300*1000);
- // Get a Session object
- Session session = Session.getInstance(props, authenticator);
- // construct the message
- Message msg = new MimeMessage(session);
- msg.setFrom(new InternetAddress(from));
- msg.setRecipients(Message.RecipientType.TO,
- InternetAddress.parse(to, false));
- msg.setSubject(subject);
- msg.setText("Sample Message" );
- msg.setHeader("X-Mailer", mailer);
- msg.setSentDate(new Date());
- Transport tr = session.getTransport("smtp" );
- tr.connect();
- msg.saveChanges();
- tr.sendMessage(msg, msg.getAllRecipients());
- tr.close();
- System.out.println("\nMail was sent successfully." );
- } catch (Exception e) {
- e.printStackTrace();
- }
|
Une MessagingException est lancee a tr.connect()
Note : j'ai le certificat du serveur smtp dans mon cacerts.
Quelqu'un peut me dire ce que je pourrais faire pour que ca marche?
Merci. |