linux 本机发送邮件 smtp-server 553,Zabbix监控之邮件发送失败-smtp-server: 错误代码550与535...
原始問題背景:
前幾天運維同事突然發現zabbix監控上面不再發送郵件了,而zabbix的監控界面狀態都是能夠顯示出來。因為之前出現過類似的問題,估計是163郵箱的問題,于是登陸用于告警的郵箱,直接通過網頁發送郵件也同樣報錯,估計是郵件防垃圾服務進行了限制,需要等到第二天才能恢復(第二天確實恢復正常),但是當天如果需要繼續使用zabbix的郵箱監控的話,只能通過更換告警郵箱。
于是配置了新的郵箱qixin_monitor@163.com用于告警。
新問題如下[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. 查找兩個郵箱的配置
發現兩個郵箱的POP3/SMTP/IMAP的狀態不一致,于是開通qixin_monitor@163.com的客戶端授權密碼。
2. 開通客戶端授權密碼
該步驟是需要手機號碼驗證并綁定手機的
假設其客戶端授權密碼為:fdfdterefcstewrere
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網頁郵箱繼續查看,發現如下區別
上圖是今天剛剛開通SMTP/POP3/IMAP功能的郵箱配置,生成了客戶端授權密碼。
這個是之前注冊郵箱,也就是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
總結
以上是生活随笔為你收集整理的linux 本机发送邮件 smtp-server 553,Zabbix监控之邮件发送失败-smtp-server: 错误代码550与535...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓和Linux动态库一样吗,在Linu
- 下一篇: ubuntu安装linux deepin