使用CDH时,需要针对多个项目进行监控,但又不想太麻烦使用专业的监控工具,所以只使用CDH自带的CDH Manager来查看相关的监控参数,并开启邮件告警通知功能。

  虽然最终搞定了但还是需要好好记录下来,以作备忘。

网络端口确定

  默认邮件端口是25,所以在确认是否可以发送邮件之前,需要端口25开放,或能够正常访问外网。特殊的邮件服务器,比如Office365/Google等,他们使用特殊的端口,比如587/465/995等端口。

  在确认使用之前,一般需要自己本地测试一下连通性配置是否准确等。本地发邮件的项目/代码有很多,可以百度/Google一下。

使用QQ邮箱作为发件服务器

  使用QQ邮箱作为邮件发送服务器,基本上不存在问题,只需要配置起来即可。配置如下所示
CDH-manager-configure

使用office365邮箱

  office365邮箱与普通邮箱的一个不同在于,需要使用SSL传输,如果不是那么会报错:

com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM [HK2PR0401CA0016.apcprd04.prod.outlook.com]
	at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2202)
	at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1693)
	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1194)
	at javax.mail.Transport.send0(Transport.java:254)
	at javax.mail.Transport.send(Transport.java:146)
	at com.hundun.java.email.SendMail.sendMessage(SendMail.java:57)
	at com.hundun.java.email.Main.main(Main.java:9)

使用邮件客户端,或Java程序中, 可以配置:

props.put("mail.smtp.starttls.enable", "true");// 使用 STARTTLS安全连接

但在CDH中没有找到这个配置的位置,不知道是不是这个配置引起的。