Не удалось подключиться к почтовому серверу - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь отправить почту, используя JavaMailSender, я чувствовал, что все в порядке со своей стороны, но всякий раз, когда я нажимаю JavaMailSender, я сталкиваюсь с ошибкой. Я упомянул подробности ниже.

Вот полная ошибка

org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Error in getting welcome msg. Failed messages: javax.mail.MessagingException: Error in getting welcome msg; message exception details (1) are:
Failed message 1:
javax.mail.MessagingException: Error in getting welcome msg
    at org.apache.geronimo.javamail.transport.smtp.SMTPConnection.protocolConnect(SMTPConnection.java:145)
    at org.apache.geronimo.javamail.transport.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:165)
    at javax.mail.Service.connect(Service.java:274)
    at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:397)
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:346)
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:363)
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:351)
    at com.tarento.graptive.notification.service.EmailService.prepareAndSend(EmailService.java:175)
    at com.tarento.graptive.notification.service.EmailService$$FastClassBySpringCGLIB$$db5de937.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:97)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Вот мой код в SendMail.Java


mailService.prepareAndSend("toanotherperson@gmail.com", "sample message");

Вот мой код в EmailService.java

public void prepareAndSend(String recipient, String message) {

          MimeMessagePreparator preperator = new MimeMessagePreparator() {
              public void prepare(MimeMessage mimeMessage) throws Exception {
                  MimeMessageHelper message =new MimeMessageHelper(mimeMessage, true, "UTF-8");

                  message.setFrom("mymail@gmail.com");
                  message.setTo(recipient);
                  message.setSubject("test subject");
                  message.setText("test body");
              }
          };
        try {
            mailSender.send(preperator);
        } catch (Exception e) {
             e.printStackTrace();
        }
    }

Вот моя конфигурация в email.xml

 <bean id="mailSend" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="${email_host}"/>
        <property name="port" value="${email_port}"/>
        <property name="username" value="${email_username}"/>
        <property name="password" value="${email_password}"/>
        <property name="javaMailProperties">
            <props>
                <prop key="mail.smtp.auth">${email_mail_smtp_auth}</prop>
                <prop key="mail.smtp.starttls.enable">${email_mail_smtp_starttls_enable}</prop> 
            </props>
        </property>
    </bean>

Вот мои свойства в project.properties

#Email properties
email_host = smtp.gmail.com
email_port = 587
email_username = mymail@gmail.com  
email_password = mymail@123
email_mail_transport_protocol = smtp
email_mail_smtp_auth = true
email_mail_smtp_starttls_enable = true
email_from =mymail@gmail.com
...