Zabbix監控之郵件發送失敗-smtp-server: 錯誤代碼550與535

原始問題背景:bash

前幾天運維同事忽然發現zabbix監控上面再也不發送郵件了,而zabbix的監控界面狀態都是可以顯示出來。由於以前出現過相似的問題,估計是163郵箱的問題,因而登錄用於告警的郵箱,直接經過網頁發送郵件也一樣報錯,估計是郵件防垃圾服務進行了限制,須要等到次日才能恢復(次日確實恢復正常),可是當天若是須要繼續使用zabbix的郵箱監控的話,只能經過更換告警郵箱。運維

因而配置了新的郵箱qixin_monitor@163.com用於告警。ide


新問題以下測試

[root@zabbix_master ~]# tail -n 5 /etc/mail.rc //查看mail.rc的郵箱配置
#setting for zabbix 
set from=qixin_monitor@163.com smtp=smtp.163.com 
set smtp-auth-user=qixin_monitor smtp-auth-password=test_haha16
set smtp-auth=login
[root@zabbix_master ~]# echo 「mail content」|mail -s test 17701754487@163.com
[root@zabbix_master ~]# smtp-server: 550 User has no permission //550報錯
"/root/dead.letter" 11/316
. . . message not sent.


報錯顯示用戶沒有權限,而以前的郵箱clovemfeng@163.com倒是OK的編碼


1. 查找兩個郵箱的配置spa

wKiom1YbXfSjigOPAAgjbD33wMk108.jpg


wKioL1YbXoGhwqQgAAhU9vOpKp4771.jpg

發現兩個郵箱的POP3/SMTP/IMAP的狀態不一致,因而開通qixin_monitor@163.com的客戶端受權密碼。3d

2. 開通客戶端受權密碼code

wKioL1YbXvih01XPAAL5JMdLkh0229.jpg

wKioL1YbXvjTQ7HcAAHnQ2bOl1Y180.jpg

wKiom1YbX02hNhwuAAOfj0jYdcg457.jpg

 

該步驟是須要手機號碼驗證並綁定手機的orm

假設其客戶端受權密碼爲:fdfdterefcstewrere
server



3. 測試郵箱發送

[root@zabbix_master ~]# echo 「mail content」|mail -s test 17701754487@163.com

[root@zabbix_master ~]# smtp-server: 535 Error: authentication failed

"/root/dead.letter" 11/316

. . . message not sent.

發現居然報535錯誤,用戶名與密碼驗證失敗。

4. 手動測試密碼

既然經過mail命令直接發送有問題,因而筆者作了以下幾件事情:

(1)經過telnet命令驗證用戶名跟密碼 

[root@zabbix_master ~]# telnet smtp.163.com 25

Trying 220.181.12.13...

Connected to smtp.163.com.

Escape character is '^]'.

220 163.com Anti-spam GT for Coremail System (163com[20141201])

HELO 163.COM

250 OK

AUTH LOGIN

334 dXNlcm5hbWU6

cWl4aW5fbW9uaXRvcg==

334 UGFzc3dvcmQ6

UWl4aW5AMTIz

535 Error: authentication failed

(其中用戶名跟密碼均作了base64編碼轉換,echo -n username/password |base64)

(2)測試原來的clovemfeng@163.com

發現居然能夠成功登錄。

[root@zabbix_master ~]# telnet smtp.163.com 25

Trying 220.181.12.13...

Connected to smtp.163.com.

Escape character is '^]'.

220 163.com Anti-spam GT for Coremail System (163com[20141201])

HELO 163.COM

250 OK

AUTH LOGIN

334 dXNlcm5hbWU6

Y2xvdmVtZmVuZw==

334 UGFzc3dvcmQ6

UXhAbW9uaXRvciMxMjM=

235 Authentication successful

(3)繼續嘗試?

 這兩個帳號有什麼不一樣?初步看來,用戶名跟密碼不同!! 用戶名沒法修改,那麼我把密碼改爲同樣的總行了吧?

可是結果仍舊是535 Error: authentication failed,後來甚至註冊了一個用戶名沒有特殊字符,可是仍是失敗。

5. 迴歸郵箱設置檢查

繼續比對新老帳號的區別,登錄163.com網頁郵箱繼續查看,發現以下區別

wKioL1YbX62iIjXgAAFynRq9O3M210.jpg

上圖是今天剛剛開通SMTP/POP3/IMAP功能的郵箱配置,生成了客戶端受權密碼。

wKiom1YbYA6Chfe0AAGrj2fBpWU739.jpg

331758.png這個是以前註冊郵箱,也就是clovemfeng@163.com的配置,開通了SMTP服務,可是並無開通客戶端受權密碼,由於並無使用期IMAP服務。

結論:

也就是說,之前註冊的郵箱是不須要什麼客戶端受權密碼的,而新註冊的卻須要這個東西。

那麼,咱們無論經過mail -s 也好,telnet smtp.163.com也好,角色都是客戶端,那麼嘗試下將客戶端受權密碼做爲配置密碼試試?

因而乎,居然成功了!

[root@zabbix_master ~]# telnet smtp.163.com 25

Trying 220.181.12.13...

Connected to smtp.163.com.

Escape character is '^]'.

220 163.com Anti-spam GT for Coremail System (163com[20141201])

EHLO 163.COM

250-mail

250-PIPELINING

250-AUTH LOGIN PLAIN

250-AUTH=LOGIN PLAIN

250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UrFvEOrUCa0xDrUUUUj

250-STARTTLS

250 8BITMIME

AUTH LOGIN

334 dXNlcm5hbWU6

cWl4aW5fbW9uaXRvcg==

334 UGFzc3dvcmQ6

aXB2d2RjZW1oZGp5dnV0ZQ==

235 Authentication successful

問題,解了~最終配置以下,其實也就是將smtp-auth-password的值從實際密碼修改爲了客戶端受權密碼。

[root@zabbix_master ~]# tail -n 5 /etc/mail.rc

#setting for zabbix

set from=qixin_monitor@163.com smtp=smtp.163.com

set smtp-auth-user=qixin_monitor smtp-auth-password=fdfdterefcstewrere

set smtp-auth=login

相關文章
相關標籤/搜索