阿里云Centos6.X發(fā)郵件遇到的各種問題
前言:
新上一臺(tái)阿里的云主機(jī),提供web服務(wù),各種環(huán)境搭建完成,能夠提供服務(wù),沒想到在最后的監(jiān)控環(huán)節(jié)遇到各種發(fā)郵件的坑,這里分享給大家,你是否也遇到這種坑?
網(wǎng)易163免費(fèi)郵箱相關(guān)服務(wù)器信息:

一、安裝和配置:
1.1、安裝
[root@linux-node2 ~]# yum install mailx -y Loaded plugins: fastestmirror, security Setting up Install Process Determining fastest mirrors * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com base | 3.7 kB 00:00 epel | 3.2 kB 00:00 epel/primary | 3.2 MB 00:00 epel 12521/12521 extras | 3.4 kB 00:00 icehouse | 2.9 kB 00:00 updates | 3.4 kB 00:00 updates/primary_ | 1.2 MB 00:00 Package mailx-12.4-8.el6_6.x86_64 already installed and latest version Nothing to do
1.2、配置(以163郵箱為例)
首先你的郵箱要支持你的需求,到郵箱里去配置



然后到/etc/mail.rc的配置文件中去添加
set from=admin@163.com smtp=smtp.163.com smtp-auth-user=admin smtp-auth-password=xxxxxx smtp-auth=login
[root@linux-node2 ~]# echo “12345” | mail -v -s “test” admin@163.com
至此應(yīng)該是沒問題,但是就是收不到郵件。得了,開始排錯(cuò)!所有的網(wǎng)絡(luò)、配置檢查完成后,還是收不到郵件,最后檢查到端口發(fā)現(xiàn)問題?。?!
[root@linux-node2 ~]# telnet smtp.163.com 25
Trying 220.181.12.17...
^C
[root@orcherstrator ~]# nc -vz -w 1 smtp.163.com 25
nc: connect to smtp.163.com port 25 (tcp) timed out: Operation now in progress
nc: connect to smtp.163.com port 25 (tcp) timed out: Operation now in progress
nc: connect to smtp.163.com port 25 (tcp) timed out: Operation now in progress
nc: connect to smtp.163.com port 25 (tcp) timed out: Operation now in progress
nc: connect to smtp.163.com port 25 (tcp) timed out: Operation now in progress
nc: connect to smtp.163.com port 25 (tcp) timed out: Operation now in progress
nc: connect to smtp.163.com port 25 (tcp) timed out: Operation now in progress
nc: connect to smtp.163.com port 25 (tcp) timed out: Operation now in progress
原來服務(wù)器根本就不能和第三方郵箱建立連接,問題找到,開始處理,一查才知道阿里云服務(wù)器把25端口給封了,需要申請(qǐng)解封。好吧!登錄管理控制臺(tái),開始申請(qǐng)?。。?/p>


阿里云的審核速度還挺快的,兩個(gè)多小時(shí)后反饋結(jié)果了,不過看看就吐口老血!!!
只能想其他的辦法唄?。∽詈鬀Q定使用163郵箱的465加密端口
[root@orcherstrator ~]# telnet smtp.163.com 465
Trying 220.181.12.14...
Connected to smtp.163.com.
Escape character is '^]'.
^C
Connection closed by foreign host.
root@orcherstrator ~]# nc -vz -w 1 smtp.163.com 465
Connection to smtp.163.com 465 port [tcp/urd] succeeded!
看樣子有戲哦!?。⌒薷?etc/mail.rc的配置
set from=admin@163.com
set smtp="smtps://smtp.163.com:465"
set smtp-auth-user=admin@163.com
set smtp-auth-password=xxxxx
set smtp-auth=login
set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
[root@linux-node2 ~]# echo 'hello' |mail -v -s "test" yueyuancun@163.com
Resolving host smtp.163.com . . . done.
Connecting to 123.125.50.133 . . . connected.
Error in certificate: Peer's certificate issuer is not recognized. ##沒有對(duì)端的證書
Comparing DNS name: "*.163.com"
SSL parameters: cipher=AES-128-GCM, keysize=128, secretkeysize=128,
issuer=CN=GeoTrust SSL CA - G3,O=GeoTrust Inc.,C=US
subject=CN=*.163.com,O="NetEase (Hangzhou) Network Co., Ltd",L=HangZhou,ST=ZheJiang,C=CN
220 163.com Anti-spam GT for Coremail System (163com[20141201])
>>> EHLO linux-node2
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFVHs-cUCa0xDrUUUUj
250-STARTTLS
250 8BITMIME
>>> AUTH LOGIN
334 dXNlcm5hbWU6
>>> eXVleXVhbmN1bkAxNjMuY29t
334 UGFzc3dvcmQ6
>>> aGVsbG9uaWhhbzE5ODkxMA==
535 Error: authentication failed
smtp-server: 535 Error: authentication failed
"/root/dead.letter" 11/299
. . . message not sent. ##郵件沒有發(fā)出去
至此,網(wǎng)上的case都說能收到郵件,但是我這就是收不到,那就根據(jù)錯(cuò)誤來解決唄?。?!搞證書
[root@linux-node2 ~]# mkdir -p /root/.certs/
[root@linux-node2 ~]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = GeoTrust Inc., CN = GeoTrust SSL CA - G3
verify return:1
depth=0 C = CN, ST = ZheJiang, L = HangZhou, O = "NetEase (Hangzhou) Network Co., Ltd", CN = *.163.com
verify return:1
DONE
[root@linux-node2 ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
[root@linux-node2 ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
[root@linux-node2 ~]# certutil -L -d /root/.certs
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
GeoTrust SSL CA C,,
[root@linux-node2 ~]# cd /root/.certs/
[root@linux-node2 .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
Notice: Trust flag u is set automatically if the private key is present.
[root@linux-node2 .certs]# cd
[root@linux-node2 ~]# vim /etc/mail.rc
set from=admin@163.com
set smtp="smtps://smtp.163.com:465"
set smtp-auth-user=admin@163.com
set smtp-auth-password=xxxxx
set smtp-auth=login
set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/root/.certs
[root@linux-node2 ~]# echo 'hello' |mail -v -s "test" admin@163.com
Resolving host smtp.163.com . . . done.
Connecting to 123.125.50.132 . . . connected.
Comparing DNS name: "*.163.com"
SSL parameters: cipher=AES-128-GCM, keysize=128, secretkeysize=128,
issuer=CN=GeoTrust SSL CA - G3,O=GeoTrust Inc.,C=US
subject=CN=*.163.com,O="NetEase (Hangzhou) Network Co., Ltd",L=HangZhou,ST=ZheJiang,C=CN
220 163.com Anti-spam GT for Coremail System (163com[20141201])
>>> EHLO linux-node2
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UF6b612UCa0xDrUUUUj
250-STARTTLS
250 8BITMIME
>>> AUTH LOGIN
334 dXNlcm5hbWU6
>>> eXVleXVhbmN1bkAxNjMuY29t
334 UGFzc3dvcmQ6
>>> aGVsbG9uaWhhbzE5ODk=
235 Authentication successful
>>> MAIL FROM:<admin@163.com>
250 Mail OK
>>> RCPT TO:<admin@163.com>
250 Mail OK
>>> DATA
354 End data with <CR><LF>.<CR><LF>
>>> .
250 Mail OK queued as smtp2,DNGowADH53eJp5BbGYUHAA--.2S2 1536206732
>>> QUIT
221 Bye
終于成功了!?。?!

注:不管能否解決你遇到的問題,歡迎相互交流,共同提高!
相關(guān)文章
解決make: *** [Makefile:719: ext/openssl/openss
在Ubuntu系統(tǒng)上編譯安裝PHP7.4.33時(shí)遇到OpenSSL庫文件缺失的錯(cuò)誤,因?yàn)閁buntu22.04的默認(rèn)OpenSSL版本與PHP不兼容,解決方法是安裝低版本的openssl包,并在編譯PHP時(shí)指定openssl路徑2024-12-12
Linux下Nginx安裝的方法(pcre和openssl)
本篇文章主要介紹了Linux下Nginx安裝的方法(pcre和openssl),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02
linux系統(tǒng)報(bào)xfs_vm_releasepage警告問題的處理方法
這篇文章主要給大家介紹了關(guān)于linux系統(tǒng)報(bào)xfs_vm_releasepage警告問題的處理方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
詳解Linux環(huán)境下NodeJS的安裝配置(HelloWorld)
本篇文章主要介紹了Linux環(huán)境下NodeJS的安裝配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
Linux中文件描述符fd與文件指針FILE*互相轉(zhuǎn)換實(shí)例解析
這篇文章主要介紹了Linux中文件描述符fd與文件指針FILE*互相轉(zhuǎn)換實(shí)例解析,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
詳解安裝Ubuntu Linux系統(tǒng)時(shí)硬盤分區(qū)最合理的方法
這篇文章主要介紹了詳解安裝Ubuntu Linux系統(tǒng)時(shí)硬盤分區(qū)最合理的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05

