使用 Mailx 通过 SMTP 在 Centos 上发送邮件

安装 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 [email protected]

set smtp-auth-password=xxx

set [email protected]

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 [email protected]

set smtp-auth-password=xxx

set [email protected]

加入上面配置保存,运行以下命令测试发送邮件,如果没有意外,邮箱很快就能收到服务器发来的测试邮件。

echo"Hello"|mail-v-s"test"[email protected]

使用上面的配置,邮件完全能够发出去,但是发送邮件的时候会提示 “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,保存即可。

你可能感兴趣的:(使用 Mailx 通过 SMTP 在 Centos 上发送邮件)