Как исправить «Ошибка подключения к почтовому серверу; вложенное исключение — javax.mail.MessagingException: не удалось JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как исправить «Ошибка подключения к почтовому серверу; вложенное исключение — javax.mail.MessagingException: не удалось

Сообщение Anonymous »

У меня произошел сбой при попытке отправить сообщение с помощью веб-приложения с использованием Spring-MVC и файла конфигурации XML.

Приложение, казалось, работало, но когда я нажал кнопку отправки сообщения, я столкнулся со следующим вложенным исключением:

Ошибка подключения к почтовому серверу; вложенное исключение — javax.mail.MessagingException: не удалось преобразовать сокет в TLS; вложенное исключение: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: не удалось построить путь PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации к запрошенной цели. Неудачные сообщения: javax.mail.MessagingException: не удалось преобразовать сокет в TLS; вложенное исключение: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: не удалось построить путь PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации к запрошенной цели

Я использовал tomcat 7 и Eclipse для запуска этого проекта.

Я изменил bean-компонент в файле Configuration.file и изменил конфигурацию безопасности Gmail, но у меня все еще есть та же проблема.

EmailController.java:

Код: Выделить всё

package com.jcg.spring.mvc.email;

import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.MimeMessagePreparator;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class EmailController {

static String emailToRecipient, emailSubject, emailMessage;
static final String emailFromRecipient ="XXXXXXXXXXXXXX";

static ModelAndView modelViewObj;

@Autowired
private JavaMailSender mailSenderObj;

@RequestMapping(value = {"/", "emailForm"}, method = RequestMethod.GET)
public ModelAndView showEmailForm(ModelMap model) {
modelViewObj = new ModelAndView("emailForm");
return  modelViewObj;
}

// This Method Is Used To Prepare The Email Message And Send It To The Client
@RequestMapping(value = "sendEmail", method = RequestMethod.POST)
public ModelAndView sendEmailToClient(HttpServletRequest request, final @RequestParam CommonsMultipartFile attachFileObj) {

// Reading Email Form Input Parameters
emailSubject = request.getParameter("subject");
emailMessage = request.getParameter("message");
emailToRecipient = request.getParameter("mailTo");

// Logging The Email Form Parameters For Debugging Purpose
System.out.println("\nReceipient?= " + emailToRecipient + ", Subject?= " + emailSubject + ", Message?= " + emailMessage + "\n");

mailSenderObj.send(new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {

MimeMessageHelper mimeMsgHelperObj = new MimeMessageHelper(mimeMessage, true, "UTF-8");
mimeMsgHelperObj.setTo(emailToRecipient);
mimeMsgHelperObj.setFrom(emailFromRecipient);
mimeMsgHelperObj.setText(emailMessage);
mimeMsgHelperObj.setSubject(emailSubject);

}
});
System.out.println("\nMessage Send Successfully....  Hurrey!\n");

modelViewObj = new ModelAndView("success","messageObj","Thank You! Your Email Has Been Sent!");
return  modelViewObj;
}
}

spring-servlet.xml:

Код: Выделить всё

  








true
true
smtp
javax.net.ssl.SSLSocketFactory
465
true





web.xml:

Код: Выделить всё


Spring Mvc Email Example



SpringController
org.springframework.web.servlet.DispatcherServlet

contextConfigLocation
/WEB-INF/spring-servlet.xml

1


SpringController
/




emailForm.jsp



журнал:

Код: Выделить всё

DEBUG: JavaMail version 1.5.5
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers

....

DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false
220 smtp.gmail.com ESMTP l***********.22 - gsmtp
DEBUG SMTP: connected to host "smtp.gmail.com", port: 587

EHLO ********PC
250-smtp.gmail.com at your service, [**********]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250 SMTPUTF8
DEBUG SMTP: Found extension "SIZE", arg "35882577"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "SMTPUTF8", arg ""
STARTTLS
220 2.0.0 Ready to start TLS

Не могли бы вы помочь мне решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/568 ... ail-messag
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»