美文网首页
使用 Mailx 通过 SMTP 在 Centos 上发送邮件

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

作者: mrknowledge | 来源:发表于2020-08-31 10:37 被阅读0次

安装 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,保存即可。

相关文章

网友评论

      本文标题:使用 Mailx 通过 SMTP 在 Centos 上发送邮件

      本文链接:https://www.haomeiwen.com/subject/ishusktx.html