【发布时间】:2014-06-06 06:47:54
【问题描述】:
我正在发送电子邮件以获取我的用户详细信息。它在本地主机中工作。它发送电子邮件,但是当我将它部署到 cloudbees 时,我收到了这个错误。你们知道这里发生了什么吗?如果你能帮助我,我将不胜感激。这是我项目中的最后一个模块。
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbuM2
534-5.7.14 qusylLyBGwv6C0LXTQk55UH7xMvqM3XLGT49bIoOTUB2-KJE8sMw3fGu4C9ofzO5ypepa-
534-5.7.14 qNUIoJFvfobZbjK1d0jGGPyLFhA-top_G0izi7b5a50upMEqyAZPsEBJByxXXkzBD8yghK
534-5.7.14 00fsqA4V4Q_qrczaPtrsz5yGASMne_rX0sT3X_lzkDrB1zcldraPKw1CiENYroBd4POGme
534-5.7.14 eCS5vNA> Please log in via your web browser and then try again.
534-5.7.14 Learn more at https://support.google.com/mail/bin/answer.py?answer=787
534 5.7.14 54 o11sm76701768qay.39 - gsmtp
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
【问题讨论】:
-
AuthenticationException,查看本地/cloudbees之间的差异,非本地身份验证会失败的任何原因? -
我猜它无法验证您提供的凭据。你确定你使用的是正确的主机服务器
-
我得到了相同的代码。与我的电子邮件相同的用户凭据。我只是不知道为什么它不在非本地发送。
-
顺便说一句,我正在使用 spring 4
-
Afaik,Google 必须允许您的应用程序使用您自己的帐户:转到 accounts.google.com/DisplayUnlockCaptcha 并且在几分钟内 google 应该能够记住应用程序/服务并允许您的应用程序访问您的帐户(请参阅此处email.about.com/od/gmailtips/qt/…) 但是,更简单的方法是使用基于云的电子邮件基础架构和发送服务,例如 SendGrid。在 cloudbees,您可以找到几个有关如何使用它的示例(即 github.com/CloudBees-community/tomcat7-sendgrid-clickstart)
标签: java email spring-mvc cloudbees