新环境上配置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抓包查看明文报文
参考: