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
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