Mam problem z konfigurowaniem ustawień SMTP do wysyłania poczty za pomocą javax.mail (1.4.4)
przez Office365, więc pomyślałem, że mogę opublikować właściwości tutaj dla innych.Wysyłanie javamail przy użyciu Office365
11
A
Odpowiedz
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
Jedyny błąd, który ja widząc w kodzie jest nieprawidłowy Host
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");
Zmień gospodarz będzie wszystko dobrze.
4
przykład kodu robocze:
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
Możesz chcieć określić, że używa to [commons-email] (https://commons.apache.org/proper/commons-email/). – JBert
3
A wiosną-boot, wystarczy dodać do swojej application.properties
:
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
Jestem stoi podobny problem może proszę wyjaśnić swoje rozwiązanie ?? ? –
Problem, przed którym stoję, to mój wątek utknął przed wysłaniem poczty, próbowałem wielu rozwiązań z Internetu, z których żaden nie działał, nie mam też żadnego wyjątku. Nie mogę wysyłać poczty, byłoby pomocne, gdybyś podzielił się swoją wiedzą .. :) dzięki –
Dla mnie to zadziałało dopiero po zmianie '587' na' "587" '. W przeciwnym razie JavaMail próbował połączyć się przez port 25. – Glorfindel