Отправка почты на почтовый сервер imap через Spring?
Привет я использую Spring Framework для отправки почты. Я не знаю о настройках почтового сервера. Мы используем Mozilla Thunderbird. Я написал образец заявки на отправку почты весной. Я погуглил и пришел к выводу, что нам нужен сервер и порт. Я установил все это, но моя проблема в том, чтобы получить следующее исключение.
Exception in thread "main" org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: mail.supremecluster.com, port: 143, response: -1
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:418)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:307)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:297)
at com.javacodegeeks.spring.mail.MailService.sendMail(MailService.java:24)
at com.javacodegeeks.spring.mail.MailServiceTest.main(MailServiceTest.java:14)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: mail.supremecluster.com, port: 143, response: -1
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1694)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
at javax.mail.Service.connect(Service.java:291)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:388)
... 4 more
Spring.xml
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="mail.supremecluster.com" />
<property name="port" value="143" />
<property name="username" value="myusername@host.com" />
<property name="password" value="*********" />
<property name="javaMailProperties">
<props>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.debug">true</prop>
</props>
</property>
</bean>
MailService
public void sendMail(String from, String to, String subject, String body) {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(from);
message.setTo(to);
message.setSubject(subject);
message.setText(body);
mailSender.send(message);
}
public void sendAlertMail(String alert) {
SimpleMailMessage mailMessage = new SimpleMailMessage(alertMailMessage);
mailMessage.setText(alert);
mailSender.send(mailMessage);
}
Mailltest
public static void main(String[] args) {
ApplicationContext context = new FileSystemXmlApplicationContext("conf/spring.xml");
MailService mailService = (MailService) context.getBean("mailService");
mailService.sendMail("myusername@host.com", "myuser@gmail.com",
"Testing123", "Testing only \n\n Hello Spring Email Sender");
mailService.sendAlertMail("Exception occurred");
}
Пожалуйста, кто-нибудь может сказать мне решение? Спасибо
1 ответ
Кажется, что Java не может подключиться к SMTP-серверу mail.supremecluster.com:143
Я предполагаю, что предоставленные вами настройки электронной почты не относятся к SMTP (SMTP предназначен только для исходящих сообщений электронной почты, IMAP - для получения сообщений). Почему бы вам не открыть Thunderbird и в разделе "Настройки учетной записи" проверить и посмотреть, какие настройки имеются в пункте "Исходящий сервер" (SMTP).