CentOS系統(tǒng)下如果希望向外域發(fā)送郵件,需要配置sendmail+dovecot等一系列工具。其實不用這么麻煩,只要mutt+msmtp就可以實現(xiàn)向外域發(fā)送郵件的功能了。
本文基于CentOS6 64bit
1,安裝配置msmtp
$ yum install gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel -y
$ wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2
$ tar -jxvf msmtp-1.4.32.tar.bz2
$ cd msmtp-1.4.32
$ ./configure --prefix=/usr/local/msmtp
$ cd msmtp-1.4.32
$ make && make install</p><p>$ mdkir /usr/local/msmtp/etc
生成配置文件
$ cat >>/usr/local/msmtp/etc/msmtprc<<EOF
直接復(fù)制以下內(nèi)容粘貼在>號的位置即可
defaults
tls on
logfile /usr/local/msmtp/msmtp.log</p><p>account acc1
host smtp.163.com
port 25
from
[email protected]auth login
tls off
user
[email protected] password mypasswd</p><p>account acc2
host smtp.qq.com
port 465
from
[email protected]auth login
tls_starttls off
tls on
tls_certcheck off
user
[email protected]password mypasswd</p><p>account default : acc2
EOF
配置文件里面有一些需要注意的地方:QQ郵箱不支持tls,使用QQ郵箱需要關(guān)閉tls_starttls,
網(wǎng)易免費郵箱的ssl證書通不過驗證,所以使用163郵箱時,只能關(guān)閉tls證書驗證。
該配置文件不支持中文,也不能粘貼中文注釋,否則必報錯。
2,安裝配置mutt
$ yum install mutt -y
$ cat >>/etc/Muttrc<<EOF
直接復(fù)制以下內(nèi)容粘貼在>號的位置即可
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=no
set realname="
[email protected]"
set editor="vim"
EOF
3,功能測試
不出意外,應(yīng)該是可以收到郵件了。執(zhí)行這條命令如果超過5s沒有反應(yīng),說明msmtprc文件中的default帳戶配置有誤。可以先執(zhí)行ps -ef | grep mutt找出進程號kill之,然后修改msmtprc文件中的相關(guān)配置以后再試。