centos7 配置QQ邮箱发送邮件

本文介绍如何在CentOS7中配置mailx通过QQ邮箱发送邮件,包括安装mailx、配置邮件发送参数、设置SSL证书及测试邮件发送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos7 配置QQ邮箱发送邮件

安装

yum -y install mailx

测试是否安装成功

[root@localhost tools]# which mail
/bin/mail

编辑配置文件

vi /etc/mail.rc
在文件末尾添加

set from=luojiahan1234@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=luojiahan1234@qq.com
set smtp-auth-password=wahnqizfqnoybjfa
set smtp-auth=login

其中

from:对方收到邮件时显示的发件人
smtp:指定第三方发邮件的smtp服务器地址
set smtp-auth-user:第三方发邮件的用户名
set smtp-auth-password:用户名对应的密码,有些邮箱填的是授权码
smtp-auth:SMTP的认证方式,默认是login,也可以改成CRAM-MD5或PLAIN方式

再添加

set smtp-use-starttls

set ssl-verify=ignore

set nss-config-dir=/etc/pki/nssdb/

打开POP3/SMTP/IMAP功能
因为阿里云 ECS 封禁了25端口,所以我们只能使用 TLS 方式(TSL 也就是使用 SSL 加密的方式,使用465或者其他端口来发送邮件)绕过25端口需求来发送邮件,所以必须先获得邮箱的 SSL 证书并存放到本地,最后一行的 nss-config-dir 就是制定的存放 QQ 邮箱 SSL 证书的位置。

因为需要 QQ 邮箱的 SSL 证书,所以我们还需要手动的获取QQ 邮箱的证书保存到本地指定的目录里以备调用和验证,具体命令如下:

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

为了防止出现前文所说的发送邮件警告提示,还需要进入邮箱 SSL 证书存放目录 /root/.certs 里执行如下命令:

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

返回如下提示即可:

**Notice: Trust flag u is set automatically if the private key is present.**

这是为了信任证书的标记操作。

至此,已经完成了 mailx 结合 QQ 邮箱发送系统邮件的部署了。

测试

echo "测试邮件" | mail -s "测试" XXX@qq.com

参考

mailx配置TSL发送邮件
Linux下利用mailx结合QQ邮箱发送系统邮件提醒等

### 配置概述 为了使 CentOS 9 能够通过 QQ 邮箱 SMTP 发送邮件,需完成几个关键设置。这包括安装必要的软件包、配置邮件客户端以及测试发送功能。 ### 安装 Mail 工具 确保系统已更新并安装 `mailx` 或其他支持 SMTP 的邮件工具: ```bash sudo dnf install mailx -y ``` ### 编辑全局邮件配置文件 编辑 `/etc/mail.rc` 文件来指定 QQ 邮箱的 SMTP 设置: ```bash vi /etc/mail.rc ``` 在该文件中加入以下内容以适应 QQ 邮箱的要求[^2]: ```plaintext set from=your_qq_email@qq.com set smtp=smtps://smtp.qq.com:465 set smtp-auth-user=your_qq_email@qq.com set smtp-auth-password=qmlybxzjgkdbcafe # 这里应替换为实际获得的授权码而非登录密码 set smtp-auth=login set nss-config-dir=/etc/pki/tls/certs # 指定证书路径用于SSL/TLS加密连接 set ssl-verify=ignore # 忽略 SSL 证书验证错误 (仅限于内部网络或信任环境) ``` > **注意**: 授权码是在开启了 QQ 邮箱 SMTP 功能后由 QQ 提供的安全令牌,不是普通的邮箱登录密码。 ### 测试邮件发送能力 创建一个简单的 shell 命令来进行初步测试: ```bash echo "This is a test message." | mail -s "Test Subject" recipient@example.com ``` 如果一切正常,则应该能够接收到一封来自上述配置中的 QQ 地址发出的电子邮件。 对于更复杂的场景,比如集成到监控告警系统或是定期报告生成器中去的话,可以考虑编写专门的 Shell Script 来处理这些任务,并利用 cron job 实现自动化调度[^4]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yiluohan0307

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值