验证Prometheus alertmanager邮件发送

新环境上配置alertmanager时出现了“Client was not authenticated to send anonymous mail during MAIL FROM”错误,但老环境上是好的

使用如下方法来验证邮件发送:

alertmanager的邮件配置如下:

global:
  resolve_timeout: 5m
  smtp_smarthost: '10.10.10.1:25'
  smtp_from: 'prometheus@example.com'
  • 输入# telnet 10.10.10.1 25启动手动调试
  • 依次输入如下命令,以回车结尾,如果成功会显示“OK”
EHLO example.com
MAIL FROM:prometheus@example.com
RCPT TO:MYEMAIL@example.com
  • 上述成功后,再输入下面命令,以回车结尾,就可以输入邮件内容了
DATA
  • 设置邮件的标题为“test message”,下面命令后面跟2个连续的回车
Subject:test message
  • 输入邮件正文
This is an email test 
  • 正文输入结束后,以<回车>.<回车> 方式结束正文
  • 输入”QUIT“结束会话
  • 收到的邮件如下(修改了实际邮件域):

PS:本环境问题最终定位是由于防火墙没有添加邮件白名单所致

  • 可以将alertmanager的log级别调为debug查看debug信息
  • 可以通过将smtp_require_tls设置为false,然后使用tpcdump抓包查看明文报文

参考:

https://blog.csdn.net/suzathlan/article/details/54890323

原文地址:https://www.cnblogs.com/charlieroro/p/11009493.html