1. 程式人生 > >雲伺服器郵件報警詳細步驟

雲伺服器郵件報警詳細步驟

我司用的西部數碼雲伺服器做郵件報警,我看阿里雲也是屏敝了25埠。

所以打臉的說,我做了兩天才搞通。

做這個報警,我反正操碎了心,微信有註冊過公眾號,所以微信做了一天多都沒做通,聽說跟微信公眾號有衝突,搞不明白,轉戰郵件。

sendEmail預設埠為25,我不會繞25,一系列報錯:Nov 21 16:58:05 ebs-49310 sendEmail[31711]: ERROR => Timeout while connecting to smtp.exmail.qq.com:25  There was no response after 60 seconds.

報錯還有如下情況:smtp-server: 535 Error: ȫʹԃ˚ȨëµȂ¼¡£Ъȩȫ¿´:

http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256"

/root/dead.letter" 11/293

. . . message not sent.

如果你也遇到以上情況,那麼試試下面吧

首先你得有郵箱的授權碼

如果這裡是關閉請開啟,如果是開啟狀態但不知道授權碼的,那關了再開一次,記錄下授權碼:本人授權碼為jjtpupmyrtwkbjhc

有了授權碼,下面言歸正傳:

yum -y install mailx

ln -s /usr/bin/mailx /usr/bin/mail

chown -R zabbix.zabbix /usr/bin/mail

vim /etc/mail.rc

如果你的/etc/mail.rc裡有配置的set smtp-use-starttls,請註釋掉,配置這行會驗證證書失敗。

這個玩意,關了 systemctl stop postfix.service

生成qq郵箱的ssl證書

mkdir -p /root/.certs/

echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt

certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

certutil -L -d /root/.certs

進入證書存放目錄,cd /root/.certs/

返回以下提示即為正常:

 

mailx -s "郵箱測試" [email protected] < message_file.txt無返回值即傳送成功

echo  test | mail -v -s " test"  [email protected]  (也可以實現郵件傳送的)

成功。

 

 

配置zabbix網頁郵件報警

 

修改zabbixserver的配置檔案

vim /etc/zabbix/zabbix_server.conf

 

修改為你的mailx.sh指令碼路徑

 

其次配置網頁端

 

然後宕掉某個在監控狀態的伺服器,出現報警提示

 

如果,你也出現以上已送達,卻郵箱沒反應的情況,那麼你會在你的日誌裡看到以下內容:

 

Error initializing NSS: Unknown error -8015.

. . . message not sent.

未傳送成功。

接著往下做吧少年,一波三十折,你已經經歷了二十九折了。

這個是許可權問題,因為證書是在root下生成的,所以其它使用者沒有執行許可權,所以了

 cp  -a  /root/.certs   /tmp

chmod -R 777 /tmp

然後再修改下/etc/mail.rc裡的nss-config-dir (別怪我沒早說這個問題,這個問題也是我做到這裡才發現的,見諒)

 

再次宕掉服務,郵件報警實現。