新環境上配置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抓包查看明文報文
參考: