从 Cloudera 管理器发送警报时出现 STARTTLS 错误

STARTTLS error when sending alerts from Cloudera manager

我正在尝试使用 Cloudera 的警报发布器(5.14 版)调整警报。这是 Cloudera UI 中我的警报发布者设置:

 - Enable Email Alerts: true
 - Mail Server Protocol: smtp
 - Mail Server Hostname: smtp.gmail.com
 - Mail Server Username: sender@hadoop-cluster.org
 - Mail From Address: sender@hadoop-cluster.org
 - Mail Message Recipients: recipient@gmail.com
 - Mail Server TCP Port: 587

我默认保留的任何其他配置。发件人和收件人的电子邮件在此代码段中被混淆,但我可以说 "hadoop-cluster.org" 是一个具有 GSuite 记录的域,因此 hadoop-cluster.org 的 SMTP 配置应该类似于 GMail 配置。

当我应用这些设置并重新启动 Cloudera 管理服务后,我尝试发送测试警报。在警报发布者的日志中,我发现了以下异常:

com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. p10*****.47 - gsmtp

    at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1829)
    at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1368)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:886)
    at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:416)
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:340)
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:355)
    at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:344)
    at org.apache.camel.component.mail.MailProducer.process(MailProducer.java:44)
    at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)

我做错了什么?我在 Cloudera 的社区论坛上搜索了答案,但没有找到任何有用的建议。

必须发出 STARTTLS 命令

通过配置 邮件服务器协议启用 TLS 安全:smtps

重启cloudera管理服务,触发测试邮件。不需要显式指定 tls 端口。它将默认使用端口 587。

https://developers.google.com/gmail/imap/imap-smtp