Tôi đang cố gắng gửi email từ chương trình của mình thông qua kết nối TLS. Đây là mã của tôiThư Java qua 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)
cổng email của tôi có các cài đặt thư đến với SSL được kích hoạt và đi với TLS được kích hoạt trên cổng 587. Tôi có thể cấu hình cài đặt này trong quan điểm và nó làm việc tốt. Nhưng thông qua chương trình java của tôi nó nói "Kết nối bị từ chối". Trợ giúp Được đánh giá cao!
Làm việc Cuối cùng:
tôi đã sử dụng chương trình InstallCert nhập certicate để tạo jssecacerts tập tin và tôi đã thêm các tập tin vào tôi/jre/lib/security/path. đây là mã làm việc của tôi
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");
Trong trường hợp này, bạn chỉ cần nhập chứng chỉ từ một máy chủ cụ thể? Tôi có cùng một vấn đề, nhưng ứng dụng của tôi cần phải gửi thư từ bất kỳ tài khoản nào được người dùng định cấu hình, mã hoạt động với Outlook, Google và Yahoo, nhưng đối với tài khoản có smtp zimbra.xxxxxxx.net.br không hoạt động vì chứng chỉ này . –