【问题标题】:Configuring mail on JHipster (Spring) project在 JHipster (Spring) 项目上配置邮件
【发布时间】:2014-10-27 17:13:01
【问题描述】:

我知道这可能是一个非常简单的问题,但是我被困在这个问题上好几个小时了,在互联网上进行了大量研究后我没有找到问题。

我开始了一个 jhipster 项目,现在我正在尝试配置一个电子邮件服务器,用于向我的新用户发送注册电子邮件。所以我编辑了项目中存在的2个配置文件:

../src/test/resources/config/application.yml

../src/main/resources/config/application.yml

在每一个中,我在“Spring:邮件:”下添加了以下几行

    host: smtp.gmail.com
    port: 25
    user: xxx@gmail.com
    password: xxx
    protocol: smtp
    tls: true
    auth: true
    from: xxx@gmail.com

然后我尝试进行新的注册,但邮件确认没有工作,我也尝试运行测试,从“mailService”中显式调用函数“sendEmail”,它也没有工作。有人知道为什么吗?我是否犯了一些配置错误?还有什么我应该做的吗?

添加有关日志的询问信息:

通常这是我在运行调用 sendMail 函数的测试时得到的日志:

[DEBUG] org.portotech.perdigao.config.AsyncConfiguration - Creating Async Task Executor<br>
[DEBUG] org.portotech.perdigao.config.MetricsConfiguration - Registering JVM gauges<br>
[DEBUG] org.portotech.perdigao.config.CacheConfiguration - No cache<br>
[WARN] org.portotech.perdigao.Application - No Spring profile configured, running with default configuration<br>
[DEBUG] org.portotech.perdigao.config.MailConfiguration - Configuring mail server<br>
[INFO] org.portotech.perdigao.config.ThymeleafConfiguration - loading non-reloadable mail messages resources<br>
[DEBUG] org.portotech.perdigao.config.DatabaseConfiguration - Configuring Mongeez<br>
[DEBUG] org.portotech.perdigao.service.MailService - Send e-mail[multipart 'false' and html 'false'] to 'xxx@gmail.com' with subject 'test' and content=test<br>
[INFO] org.portotech.perdigao.config.CacheConfiguration - Remove Cache Manager metrics<br>
[INFO] org.portotech.perdigao.config.CacheConfiguration - Closing Cache Manager<br>
Disconnected from the target VM, address: '127.0.0.1:51831', transport: 'socket'<br>
Process finished with exit code 0

因此,电子邮件没有发送,但我没有收到错误消息。在您发表评论后,我再次打开我的 IDE(Intellij)将日志复制到此处发布并得到以下日志:

[DEBUG] org.portotech.perdigao.config.AsyncConfiguration - Creating Async Task Executor<br>
[DEBUG] org.portotech.perdigao.config.MetricsConfiguration - Registering JVM gauges<br>
[DEBUG] org.portotech.perdigao.config.CacheConfiguration - No cache<br>
[WARN] org.portotech.perdigao.Application - No Spring profile configured, running with default configuration<br>
[DEBUG] org.portotech.perdigao.config.MailConfiguration - Configuring mail server<br>
[INFO] org.portotech.perdigao.config.ThymeleafConfiguration - loading non-reloadable mail messages resources<br>
[DEBUG] org.portotech.perdigao.config.DatabaseConfiguration - Configuring Mongeez<br>
[DEBUG] org.portotech.perdigao.service.MailService - Send e-mail[multipart 'false' and html 'false'] to 'xxx@gmail.com' with subject 'test' and content=test<br>
[WARN] org.portotech.perdigao.service.MailService - E-mail could not be sent to user 'xxx@gmail.com', exception is: Mail server connection failed; nested exception is javax.mail.MessagingException: Connection error (java.net.NoRouteToHostException: No route to host). Failed messages: javax.mail.MessagingException: Connection error (java.net.NoRouteToHostException: No route to host)<br>
[INFO] org.portotech.perdigao.config.CacheConfiguration - Remove Cache Manager metrics<br>
[INFO] org.portotech.perdigao.config.CacheConfiguration - Closing Cache Manager

然后我再次执行,再也没有收到关于 NoRouteToHostException 的消息,日志就像我发布的第一个一样。这真的很奇怪=/。无论如何,我对 smtp.gmail.com 进行了 ping 操作,一切正常。

【问题讨论】:

  • 如果这失败了,你应该在日志中有一个堆栈跟踪,你可以发布它吗?
  • 刚刚添加的信息,希望对你有所帮助:)

标签: email jhipster


【解决方案1】:

您正在使用端口 25 和 TLS,而 TLS 使用端口 587。

【讨论】:

  • 谢谢,Julien,但我也尝试了端口 587,但仍然无法正常工作。
  • 当我尝试使用端口 587 通过应用程序注册用户时,这是我得到的日志:[WARN] org.portotech.perdigao.service.MailService - 无法发送电子邮件到用户'xxx@gmail.com',例外是:邮件服务器连接失败;嵌套异常是 javax.mail.MessagingException:获取欢迎消息时出错。失败消息:javax.mail.MessagingException:获取欢迎消息时出错 [DEBUG] org.portotech.perdigao.aop.logging.LoggingAspect - 退出:org.portotech.perdigao.service.MailService.sendActivationEmail() 结果 = null跨度>
  • 经过一些尝试(也尝试了端口 465),我发现有必要更改配置以允许访问用于发送电子邮件的 gmail 帐户上安全性较低的应用程序。无论如何,这有助于确保正确的端口是 587。感谢您的帮助。
  • 感谢各位的帮助。补充一下,这是可以更改 Gmail 上不太安全的应用程序访问权限的链接:support.google.com/accounts/answer/6010255?hl=en
猜你喜欢
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
  • 2014-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多