Я пытаюсь отправить почту, используя 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