安装 Mailx 程序
使用 yum 安装即可。安装前,移除不再需要且可能会引起冲突的 postfix 或 sendmail。
yum-y remove postfix
yum-y remove sendmail
安装 Mailx 程序:
yum-y install mailx
配置 SMTP 发送邮件
一般邮件服务器会提供 smtp、smtps 和 smtp starttls 服务来发送邮件。smtp 最简单的,也最不安全的,不建议使用,最好使用 smtps 或者 smtp starttls 来发送邮件。用 QQ 邮箱来举例说明怎么配置 Mailx 。Mailx 配置文件为 /etc/mail.rc,编辑这个文件,加入以下配置,两种方式任选一种即可。
注意:QQ 邮箱的密码是在 QQ 邮箱账户设置里面生成的”授权码”,而不是 QQ 密码或者 QQ 邮箱独立登录密码。
smtps 方式发送邮件配置
set nss-config-dir=/etc/pki/nssdb
set ssl-verify=ignore
set smtp=smtps://smtp.qq.com:465
set smtp-auth=login
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=xxx
set from=xxx@qq.com
starttls 方式发送邮件配置
set smtp-use-starttls
set nss-config-dir=/etc/pki/nssdb
set ssl-verify=ignore
set smtp=smtp.qq.com:587
set smtp-auth=login
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=xxx
set from=xxx@qq.com
加入上面配置保存,运行以下命令测试发送邮件,如果没有意外,邮箱很快就能收到服务器发来的测试邮件。
echo"Hello"|mail-v-s"test"xxx@qq.com
使用上面的配置,邮件完全能够发出去,但是发送邮件的时候会提示 “Error in certificate: Peer’s certificate issuer is not recognized.”提示,运行以下命令生成一个证书即可。
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
生成完成之后,修改 mail.rc 配置,修改 nss-config-dir 为生成的 /root/.certs,保存即可。