Linux发送邮件

本文详细介绍了如何在Linux Ubuntu系统中配置QQ邮箱进行SMTP服务,包括开启QQ邮箱的SMTP授权,安装mailx客户端,配置mailx邮件信息,并通过测试验证邮件发送功能。同时,针对可能出现的安全警告提供了消除方法。

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

linux、ubuntu系统发送邮件,linux系统配置邮箱,linux配置qq邮箱

一、打开qq邮箱,开启smtp服务

        按如下操作,发完短信后,点击我已发送,这是会弹出一个授权码,记住这个授权码 后面配置邮件有用到

      

 

 

img

 

二、安装mailx客户端

1、ubuntu系统则需要修改软件源

#ubuntu需要先修改软件源
sudo vi  /etc/apt/sources.list
#文件末写入如下信息
deb http://cz.archive.ubuntu.com/ubuntu xenial main universe

2、安装mailx

#ubuntu系统
sudo apt-get update
sudo apt install heirloom-mailx

#centos系统
yum install mailx

 

三、配置mailx邮件信息

1、打开mailx配置文件

#ubuntu系统打开s-nail.rc文件
vi /etc/s-nail.rc
#centos系统打开
vi /etc/mail.rc

2、文件末尾追加如下信息

#qq邮箱 smtp 配置
set from="1256937101@qq.com"                 #发件人邮箱 
set smtp="smtps://smtp.qq.com:465"            
set smtp-auth-user="1256937101@qq.com"       #认证邮箱,这里填发件人邮箱
set smtp-auth-password="lanlbuxqepmyhibc"    #步骤一中的授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

 

四、测试邮件发送功能

#发送邮件  注意 657044111@qq.com是收件邮箱
echo "邮件内容" | heirloom-mailx -vs "标题" 657044111@qq.com

 注意:出现上面内容已经说明邮件发送成功了,但是由于我们没有配置证书,会报警告,可以采取如下方法,去除警告信息

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

<think>好的,用户想了解如何在Rocky Linux发送邮件。我需要分步骤来介绍,确保结构清晰,同时注意使用正确的LaTeX格式。首先,应该考虑用户可能需要的不同方法,比如使用mail命令、配置邮件服务器,或者使用第三方服务。然后,每个步骤要详细说明,确保用户能够理解。同时,要注意潜在的问题,比如防火墙设置或者服务未启动。需要检查是否遗漏了某些关键点,比如安装必要的软件包,或者配置SSMTP等工具。还要提醒用户关于安全性,比如避免明文密码。最后,确保回答符合系统级指令的要求,使用正确的中文表达,避免技术术语过于复杂,让不同层次的用户都能理解。</think>在 Rocky Linux发送邮件可以通过多种方式实现,以下是常见的三种方法及详细操作步骤: --- ### 一、使用 `mailutils` 命令行工具 **适用场景**:快速测试或脚本集成 ```bash # 安装 mailutils(含 mail 命令) sudo dnf install mailx # 发送简单文本(交互模式) echo "邮件正文内容" | mail -s "邮件主题" recipient@example.com # 发送带附件的邮件(需安装 mutt) sudo dnf install mutt mutt -a /path/to/file -s "带附件邮件" recipient@example.com < /path/to/body.txt ``` **注意**:默认使用本地 MTA(如 Postfix),需确保服务已运行: ```bash sudo systemctl start postfix ``` --- ### 二、配置 SMTP 中继服务 **适用场景**:服务器通过第三方 SMTP 服务(如 Gmail、阿里云邮件)发信 1. 安装配置工具: ```bash sudo dnf install openssl cyrus-sasl-plain ``` 2. 创建认证文件 `/etc/sasl_passwd`: ``` [smtp.example.com]:587 username:password ``` (示例使用 Gmail): ```bash echo "[smtp.gmail.com]:587 your.email@gmail.com:app专用密码" | sudo tee /etc/sasl_passwd sudo chmod 600 /etc/sasl_passwd ``` 3. 更新 Postfix 配置 `/etc/postfix/main.cf`: ```properties relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/sasl_passwd smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt ``` 4. 应用配置: ```bash sudo postmap /etc/sasl_passwd sudo systemctl restart postfix ``` --- ### 三、使用 `ssmtp` 轻量级方案 **适用场景**:资源受限环境 1. 安装 ssmtp: ```bash sudo dnf install ssmtp ``` 2. 配置 `/etc/ssmtp/ssmtp.conf`: ```properties root=your_email@example.com mailhub=smtp.example.com:587 AuthUser=your_username AuthPass=your_password UseTLS=YES UseSTARTTLS=YES ``` 3. 发送测试邮件: ```bash echo "正文" | mail -s "测试标题" recipient@example.com ``` --- ### 常见问题排查 1. **连接拒绝** - 检查防火墙:`sudo firewall-cmd --list-all` - 开放 SMTP 端口:`sudo firewall-cmd --add-service=smtp --permanent` 2. **认证失败** - Gmail 需开启「允许不够安全的应用」 - 推荐使用 App Passwords 替代直接密码 3. **查看邮件队列** `mailq` 或 `postqueue -p` --- **安全建议**: - 敏感配置文件权限设置为 `600` - 避免在配置中明文存储密码,建议使用加密工具如 `gpg` 或密钥管理系统 - 生产环境建议配置 DKIM/SPF 记录防止邮件被标记为垃圾邮件
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值