Tôi đang gặp sự cố khi định cấu hình cài đặt SMTP để gửi thư bằng cách sử dụng javax.mail (1.4.4)
thông qua Office365, vì vậy tôi nghĩ tôi sẽ đăng các thuộc tính ở đây cho người khác.Gửi javamail bằng Office365
11
A
Trả lời
11
private static Properties props;
private static Session session;
static {
props = new Properties();
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.host", "m.outlook.com");
props.put("mail.smtp.auth", "true");
session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("office365 email address"
"office365 password");
}
});
}
0
Các lỗi duy nhất mà tôi đang nhận thấy trong mã của bạn là Host không chính xác
javaMailProperties.setProperty("mail.smtp.from", "[email protected]");
javaMailProperties.setProperty("mail.smtp.user", "[email protected]");
javaMailProperties.setProperty("mail.smtp.password","Password");
javaMailProperties.setProperty("mail.smtp.host", "smtp.office365.com");
javaMailProperties.setProperty("mail.smtp.port", "587");
javaMailProperties.setProperty("mail.smtp.auth", "true");
javaMailProperties.setProperty("mail.smtp.starttls.enable", "true");
Thay đổi các máy chủ, bạn sẽ có tất cả tốt.
4
Mã làm việc Ví dụ:
Email email = new SimpleEmail();
email.setHostName("smtp.office365.com");
email.setSmtpPort(587);
email.setAuthenticator(new DefaultAuthenticator("[email protected]", "****"));
email.setStartTLSEnabled(true);
try {
email.setFrom("[email protected]");
email.setSubject("Job Failure");
email.setDebug(true);
email.setMsg("This is a test mail ... :-)");
email.addTo("[email protected]");
email.send();
} catch (EmailException e) {
e.printStackTrace();
}
+0
Bạn có thể muốn chỉ định rằng điều này sử dụng [commons-email] (https://commons.apache.org/proper/commons-email/). – JBert
3
Và với mùa xuân-boot, bạn chỉ cần để thêm video này application.properties
của bạn:
spring.mail.host = smtp.office365.com
spring.mail.username = [email protected]
spring.mail.password = s3cr3t
spring.mail.port = 587
spring.mail.properties.mail.smtp.auth = true
spring.mail.properties.mail.smtp.starttls.enable = true
Các vấn đề liên quan
- 1. Gửi email trong Android bằng JavaMail API
- 2. Gửi thư bằng PHP (phpmailer) qua Office365 trong Hostgator
- 3. javax.net.ssl.SSLException khi gửi thư bằng cách sử dụng JavaMail
- 4. DavMail + Office365
- 5. JavaMail - javax.mail.MessagingException
- 6. Tôi làm cách nào để có thể xác nhận lại email được gửi bằng JavaMail API?
- 7. Gửi email có tệp đính kèm bằng cách sử dụng javamail API
- 8. Sử dụng JavaMail với TLS
- 9. Cách đính kèm nhiều tệp vào một email bằng JavaMail?
- 10. Cách thay đổi cổng JavaMail
- 11. Truy cập email từ gmail bằng IMAP (javamail API)
- 12. Cách đăng ký Javamail với DKIM
- 13. Làm cách nào để đặt Đường dẫn trả về thành địa chỉ email ngoài địa chỉ người gửi bằng JavaMail?
- 14. JavaMail mail.smtp.ssl.enable không hoạt động
- 15. Gửi email trong android sử dụng JavaMail API với smtp nhưng không có SSL
- 16. Lỗi JavaMail BaseEncode64
- 17. An toàn trong Javamail
- 18. JavaMail API, Gmail-Auth và setFrom
- 19. JavaMail không gửi Chủ đề hoặc Từ dưới cầu cảng: chạy chiến tranh
- 20. JavaMail gửi tệp đính kèm thư từ chuỗi - mã hóa UTF-8
- 21. JavaMail: Giữ IMAPFolder.idle() còn sống
- 22. Cách gửi email bằng máy chủ trao đổi MS
- 23. Lấy tất cả các email chưa đọc bằng cách sử dụng javamail với giao thức POP3
- 24. props.put ("mail.smtp.host", host) trong JavaMail làm gì?
- 25. Tại sao JavaMail Transport.send() là một phương thức tĩnh?
- 26. Gửi fax bằng python?
- 27. Gửi email bằng OAuth
- 28. Gửi URL bằng vợt
- 29. Gửi email bằng C
- 30. Làm cách nào để xử lý nhiều thư/thư thay thế bằng JavaMail?
Tôi đang phải đối mặt với vấn đề tương tự có thể hài lòng giải thích giải pháp của bạn ?? ? –
Vấn đề tôi đang phải đối mặt là thread của tôi đã bị mắc kẹt trước khi gửi thư, tôi đã thử nhiều giải pháp từ internet không phải của họ làm việc, tôi không nhận được bất kỳ ngoại lệ quá. Tôi không thể gửi thư, nó sẽ hữu ích nếu bạn chia sẻ kiến thức của bạn .. :) cảm ơn –
Đối với tôi, điều này chỉ làm việc sau khi tôi thay đổi '587' thành '" 587 "'. Nếu không, JavaMail đã cố kết nối qua cổng 25. – Glorfindel