Sto tentando di inviare un'e-mail dal mio programma tramite una connessione TLS. Qui è il mio codiceJava Mail su TLS
final String username = "XXXXXX";
final String password = "XXXXX";
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "mail.xxxx.com");
props.put("mail.smtp.port", "587");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to_address));
message.setSubject("Test Mail");
message.setText("TestMail ");
Transport.send(message)
mio gateway di posta ha le impostazioni della posta in arrivo con SSL abilitato e in uscita con TLS abilitato sulla porta 587. Sono in grado di configurare questa impostazione in Outlook e che sta funzionando benissimo. Ma attraverso il mio programma Java sta dicendo "Connection Refused". Guida apprezzata!
Ha lavorato Infine:
ho usato il programma InstallCert per importare il certicate per generare file di jssecacerts e ho aggiunto il file alla mia/jre/lib/security/percorso. Qui è il mio codice di lavoro
properties.put("mail.transport.protocol", "smtp");
properties.put("mail.smtp.host", "XXXXXX");
properties.put("mail.smtp.port", "465");
properties.put("mail.smtp.ssl.enable", true);
properties.put("mail.smtp.socketFactory.port", "465");
properties.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
properties.put("mail.smtp.socketFactory.fallback", "false");
properties.put("mail.smtp.quitwait", "false");
properties.put("mail.smtp.auth", "true");
In questo caso devi solo importare un certificato da un server specifico? Ho lo stesso problema, ma la mia applicazione deve inviare posta da qualsiasi account configurato dall'utente, il codice funziona con Outlook, Google e Yahoo, ma per un account con smtp zimbra.xxxxxxx.net.br non funziona a causa di questo certificato . –