linux下通过配置mailx和第三方邮箱 发送邮件

        使用mailx+postfix 通过服务器发送的邮件经常会被归为垃圾邮件,甚至会被拒收,所以需要利用第三方邮箱账户作为发件人来发送邮件。

部署系统为Centos7。

确认postfix是否运行:

systemctl  status postfix
如果没有启动需要先启动。

安装mailx:

yum -y install mailx

安装完成后,编辑mailx的配置文件 :

vim /etc/mail.rc    ## 这里的vim需要单独安装,可以用vi替代

在配置文件最后添加如下配置信息:

set from=xxxxxx@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=xxxxxx@qq.com
set smtp-auth-password=你的QQ邮箱授权码
set smtp-auth=login
#set smtp-use-starttls 这里是不需要配置的,很多地方没说明,配置了反而会验证失败,所以我注释掉;
set ssl-verify=ignore
set nss-config-dir=/root/.certs

这边的邮箱授权码需要先去QQ邮箱中开启smtp,  登录QQ邮箱->设置->账户


编辑完成后保存退出。

因为需要 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 里执行如下命令:

cd /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 "message" |mail -s "title" xxxx@qq.com




### 如何在 Rocky Linux 9 上配置发送电子邮件 #### 安装必要的软件包 为了能够在 Rocky Linux 9 上发送邮件,通常需要安装 `mailx` 或者其他类似的 MUA (邮件用户代理)[^1]。 ```bash sudo yum install mailx ``` #### 配置 SMTP 发送设置 对于基于 QQ 邮箱的 SMTP 设置,在 `/etc/mail.rc` 文件中加入如下内容[^3]: ```plaintext set from=your_email@qq.com set smtp=smtp.qq.com set smtp-auth-user=your_email@qq.com set smtp-auth-password=your_auth_code set smtp-auth=login ``` 这里的 `your_email@qq.com` 是指用于发送邮件的具体邮箱地址,而 `your_auth_code` 则是指该邮箱对应的授权码而非登录密码。需要注意的是,QQ 邮箱的安全策略可能要求开启特定的服务权限来允许第三方客户端连接SMTP服务。 #### 使用 MailX 命令发送测试邮件 完成上述配置之后,可以通过下面的方式尝试发送一封简单的测试邮件: ```bash echo "This is a test message body." | mailx -s "Test Subject" recipient@example.com ``` 这条命令会把字符串 `"This is a test message body."` 作为正文内容,并带有主题 `"Test Subject"` 发送给指定的目标邮箱 `recipient@example.com`。 #### 查看已接收的邮件 如果想要查看本机接收到的任何反馈或其他形式的通知邮件,则可以在终端输入 `mail` 来启动交互式的阅读界面[^2]。 ```bash mail ``` 在此模式下可以根据提示浏览现有的消息列表以及读取具体内容。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值