Tôi đọc trên một số trang web, khi sử dụng API JavaMail, để đặt thuộc tính mail.smtp.ssl.enable
thành true. Tôi có một số mã như sau:JavaMail mail.smtp.ssl.enable không hoạt động
props.put("mail.smtp.host", "exchangemail1.example.com");
props.put("mail.from", "[email protected]");
props.put("mail.smtp.starttls.enable", "true");
// I tried this by itself and also together with ssl.enable)
props.put("mail.smtp.ssl.enable", "true");
Session session = Session.getInstance(props, null);
MimeMessage msg = new MimeMessage(session);
msg.setFrom();
msg.setRecipients(Message.RecipientType.TO, "[email protected]");
// also tried @gmail.com
msg.setSubject("JavaMail ssl test");
msg.setSentDate(new Date());
msg.setText("Hello, world!\n");
props.put("mail.smtp.auth", "false");
Transport trnsport;
trnsport = session.getTransport("smtp");
trnsport.connect();
msg.saveChanges();
trnsport.sendMessage(msg, msg.getAllRecipients());
trnsport.close();
này gửi thư điện tử, nhưng:
- khi tôi làm chụp giao thông, tôi thấy nó không được mã hóa
- Khi sử dụng debug (
props.put("mail.debug", "true")
), tôi thấy rằng "isSSL false"
(tôi cũng đã cố gắng trên thêm trong props.put("mail.smtp.auth","true")
+ người dùng/mật khẩu ....)
Bất kỳ ý tưởng nào tôi đang làm sai?
Tôi vừa triển khai gửi qua SSL và khi tôi gọi session.getTransport ("smtps"); nó hoạt động ok. Vì vậy, câu trả lời này là hợp lệ. –
Điều này không được chấp nhận, với thông báo: 'Phương thức gửi tĩnh (Message) từ loại Transport nên được truy cập theo cách tĩnh' Có cách nào hiện đại hơn để chỉ định' smtps' không? –