Отправка почты на почтовый сервер 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).

Другие вопросы по тегам