当前位置: 首页 > ai >正文

通过SMTP协议实现Linux邮件发送配置指南

一、环境准备与基础配置

1. SMTP服务开通(以qq邮箱为例)

  1. 登录qq邮箱网页端,进入「设置」-「POP3/SMTP/IMAP」

  2. 开启「SMTP服务」并获取16位授权码(替代邮箱密码使用)

  3. 记录关键参数:

    • SMTP服务器地址:smtp.qq.com

    • 安全端口号:465

    • 加密类型:SSL


二、服务器端口验证

1. 网络连通性检测

# 使用nmap扫描开放端口
nmap -Pn smtp.qq.com -p 25,465,587# 快速验证SSL端口
nc -zv smtp.qq.com 465

典型输出

2. 端口选择建议

端口协议安全性适用场景
25明文SMTP不推荐使用
465SSL加密推荐配置
587STARTTLS兼容性要求场景

三、邮件客户端配置

1. mail.rc文件配置

编辑配置文件/etc/mail.rc添加以下参数:

# SMTP服务基础配置
set from="发件人 <yourname@qq.com>"
set smtp="smtps://smtp.qq.com:465"
set smtp-auth-user="yourname@qq.com"  #须与首行邮件地址一致
set smtp-auth-password="16位授权码"
set smtp-auth=login# SSL证书配置
set ssl-verify=ignore
set nss-config-dir=/etc/mail_certs  #需手动配置,详见--四、证书信任配置

2. 服务重启与状态检查

systemctl restart postfix
systemctl status postfix -l

四、证书信任配置

1. 证书目录创建

mkdir -p /etc/mail_certs
cd /etc/mail_certs

2. SSL证书获取与安装

# 提取邮件服务器证书
openssl s_client -connect smtp.qq.com:465 \| sed -n '/BEGIN CERTIFICATE/,/END CERTIFICATE/p' > qq.crt# 添加证书到信任列表
certutil -A -n "SMTP_qq_SSL" -t "P,P,P" -d . -i qq.crt

参数解析

  • -A:添加证书

  • -n:证书标识名称

  • -t:信任级别(P=受信任的CA)

  • -d:证书存储目录


五、邮件发送验证

1. 命令行发送测试

# 发送文本内容
echo "邮件正文" | mail -s "测试主题" recipient@example.com# 发送文件内容
echo -e "Subject: Test Mail\nThis is the mail body" > /tmp/mail.txt
mailx -v -s "测试主题" recipient@example.com < /tmp/mail.txt

2. 日志查看与排错

tail -f /var/log/maillog
# 成功发送的关键词:status=sent (250 Message accepted)

六、安全增强建议

1. 权限管理

chmod 600 /etc/mail.rc          # 配置文件权限
chown root:root /etc/mail_certs # 证书目录归属

2. 定期维护

  • 每90天更新授权码

  • 使用certutil -L -d /etc/mail_certs检查证书有效期

  • 清理旧日志:logrotate /etc/logrotate.d/maillog

http://www.xdnf.cn/news/6199.html

相关文章:

  • 0514得物、0509滴滴面试总结复盘
  • 20250514 无限空间,当 a(t)→0,所有‌物理距离‌ d→0 ‌,这个状态是什么,是无限大的无限致密状态吗
  • 什么是临时对象?临时对象在什么情况下产生?
  • 网络检测工具InternetTest v8.9.1.2504 单文件版,支持一键查询IP/DNS、WIFI密码信息
  • 自营交易考试中,怎么用“黄昏之星”形态做出漂亮反转单?
  • 2025年文化传播、心理学与公共管理国际会议(CPPM 2025)
  • unordered_map和unordered的介绍和使用
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- consistency is the key
  • acwing 1488. 最短距离 超级源点 最短路 堆优化Dijkstra
  • Grafana变化趋势:Graph面板
  • SDIO EMMC中ADMA和SDMA简介
  • Linux常用命令40——alias设置命令别名
  • numpy 中数组的广播
  • 打破边界,智评未来:AI如何重塑学科交叉融合的评价体系?
  • 深度伪造对知识产权保护的新挑战与应对之策
  • 算法题(146):最大子段和
  • 山东大学软件学院软件工程计算机图形学复习笔记(2025)
  • 现代计算机图形学Games101入门笔记(四)
  • MySQL中的索引下推技术(ICP)
  • 简单生成验证码(适合初学)
  • 德施曼618首战全平台销额、销量双冠军 京东天猫官榜第一
  • 最优化方法Python计算:有约束优化应用——近似线性可分问题支持向量机
  • 常见的几种网络攻击
  • SQL注入报错“Illegal mix of collations for operation ‘UNION‘”解决办法
  • 精益数据分析(59/126):移情阶段的深度博弈——如何避开客户访谈的认知陷阱
  • persist和cache方法
  • STC32G12K12实战:串口通信
  • [目标检测] YOLO系列算法讲解
  • 【智能优化算法改进系列 | 第一期】基于Tent混沌映射改进智能优化算法
  • 五款提升效率的工具