【发布时间】:2015-09-22 15:25:40
【问题描述】:
我正在尝试弄清楚如何配置我的 Spring Boot 项目,将日志消息发送到电子邮件,但还没有成功。没有发送电子邮件,没有可见的错误。
我的 logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<appender name="mail" class="ch.qos.logback.classic.net.SMTPAppender">
<smtpHost>email-smtp.eu-west-1.amazonaws.com</smtpHost>
<from>dev@example.com</from>
<to>dev@example.com</to>
<subject>Something went wrong</subject>
<layout class="ch.qos.logback.classic.html.HTMLLayout"/>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
</appender>
<root level="INFO">
<appender-ref ref="mail"/>
</root>
</configuration>
我的应用程序.yaml:
spring:
mail:
host: email-smtp.eu-west-1.amazonaws.com
protocol: smtps
username: ***
password: ***
port: 465
properties:
mail:
smtp:
auth: true
socketFactory:
port: 465
class: javax.net.ssl.SSLSocketFactory
fallback: false
ssl.enable: true
transport.protocol: smtps
我做错了什么?在 Spring Boot 中是否有不同的方式将日志消息发送到电子邮件?
【问题讨论】:
-
我认为您正在尝试配置不同的东西。一方面,你有 logback appender,它需要一些凭据来登录邮件服务器。另一边,你在配置spring邮件模块,发送邮件是有效的,但是logback对此一无所知......
-
我建议登录到本地 MTA,然后中继到 SES
-
@NeilMcGuigan localhost MTA 中继不是一个选项,因为该应用程序将在 AWS Elastic Beanstalk 上运行,默认情况下没有本地 MTA。 (我知道,有办法……)
-
@XtremeBiker 就是这样,谢谢,我必须将凭据添加到 logback.xml。如果您将评论转换为答案,我很乐意接受。
-
@endrec 完成。很高兴对您有所帮助!
标签: spring email spring-boot logback amazon-ses