Ich versuche, eine Verbindung zu meinem E-Mail-Server mit meiner Spring Boot App herzustellen. Wenn ich localhost 25 über die Eingabeaufforderung telnet, sehe ich die unten -Spring - Verbindung zum Mailserver nicht möglich
220 Microsoft ESMTP Mail-Dienst bereit Mi , 18. Mai 2016 11.09.30 -0400
jedoch, wenn ich von verbinden versuchen, meine Programm, ich sehe den unten Fehler
verursacht durch: org.springframework.mail.MailSendException: Mail-Server Verbindung fehlgeschlagen ist; verschachtelte Ausnahme ist javax.mail.MessagingException: Verbindung zum SMTP-Host konnte nicht hergestellt werden: localhost, port: 25; verschachtelt Ausnahme ist: java.net.SocketException: Berechtigung verweigert: connect. Fehlgeschlagene Nachrichten: javax.mail.MessagingException: Konnte keine Verbindung zu herstellen SMTP-Host: localhost, Port: 25; verschachtelte Ausnahme ist: java.net.SocketException: Zugriff verweigert: connect bei
-Code
public class MailUtil {
@Autowired
private JavaMailSender javaMailSender;
@Value("${email.from}")
private String from;
@Value("${email.subject}")
private String subject;
public void send() {
MimeMessage mail = javaMailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mail, true);
helper.setTo(emailAddress);
helper.setFrom(from);
helper.setSubject(subject);
helper.setText("Lorem ipsum dolor sit amet [...]");
} catch (MessagingException e) {
e.printStackTrace();
} finally {}
javaMailSender.send(mail);
}
}
Config
#Email Settings
spring.mail.host=localhost
spring.mail.port=25
Danke doge. Wenn die Firewall blockiert, sollte ich nicht in der Lage sein, auch über meine Eingabeaufforderung zu telnet. Also ich glaube der Hafen ist offen. –
Es gibt eine ähnliche Frage http://stackoverflow.com/questions/36301545/how-to-solve-sending-the-email-to-the-following-server-failed-socketexception –
Dank Doge! Ich denke, mein Problem lag an # 2. Ich habe den Mail-Dienst an Port 8081 statt 25 freigegeben und konnte die E-Mail mit meinem Java-Programm senden. –