0

0

Linux 邮件服务器 Postfix 配置方法

冷漠man

冷漠man

发布时间:2026-02-23 10:36:12

|

163人浏览过

|

来源于php中文网

原创

postfix 启动失败因无本地接口,需启用 lo 回环、补全 /etc/hosts 映射或设 inet_interfaces = loopback-only;接收本地邮件需正确配置 mydestination 和 smtpd_recipient_restrictions;smtp 认证失败多因 sasl 服务未运行或路径权限错误;发信慢因 25 端口被封,应改用 tls 中继(如 gmail 587 端口)并执行 postmap 刷新。

linux 邮件服务器 postfix 配置方法

Postfix 启动失败,systemctl status postfix 显示 fatal: parameter inet_interfaces: no local interface found for 127.0.0.1

这是 Postfix 在没有可用网络接口时的典型报错,常见于最小化安装的 Linux(比如某些云服务器镜像)未启用 lo 回环接口,或 /etc/hosts 缺少 127.0.0.1 localhost 映射。

实操建议:

  • 先运行 ip addr show lo 确认回环接口是否 up;若为 down,执行 sudo ip link set lo up
  • 检查 /etc/hosts 是否含 127.0.0.1 localhost,缺就补上(别用 ::1 冲突 IPv6 配置)
  • 临时绕过:在 /etc/postfix/main.cf 中设 inet_interfaces = loopback-only,避免 Postfix 主动探测所有接口
  • 改完务必运行 sudo postfix check 校验语法,再 sudo systemctl restart postfix

想让 Postfix 接收本机其他程序发来的邮件(比如 cron、logwatch),但被拒收

默认 Postfix 只监听本地回环(inet_interfaces = loopback-only),但“接收”和“投递”是两回事——关键看 mydestinationsmtpd_recipient_restrictions

实操建议:

  • mydestination 必须包含本机域名,例如:mydestination = $myhostname, localhost.$mydomain, localhost, example.com
  • 确保 smtpd_recipient_restrictions 包含 permit_mynetworks(否则本地网段发信会被拦)
  • 如果程序用 sendmail -tmail 命令发信,Postfix 的 sendmail_path 要指向正确路径(通常是 /usr/sbin/sendmail.postfix),检查 alternatives --config sendmail
  • 测试命令:echo "test" | mail -s "local test" root,再查 tail -f /var/log/maillog

配置 SMTP 认证后,telnet localhost 25 能连上,但 swaks --to user@example.com --from me@localhost --server localhost535 5.7.8 Error: authentication failed

Postfix 本身不处理 SASL 认证,必须依赖 saslauthddovecot-sasl。错误不是密码错,而是认证服务没跑、没连上、或机制不匹配。

乐活途—购物分享社区 X2.0
乐活途—购物分享社区 X2.0

安装说明重要提醒:程序不支持二级目录安装,请使用一级目录或二级目录绑定!第一步,确定你的服务器支持PHP+mysql。第二步,确定你的服务器开启了gd库。第三步,将upload文件内的文件上传到网站的根目录第四步,访问你的域名+ /install/index.html进行安装,linux系统访问你的域名+ /Install/index.html第五步,按照安装程序步骤进行安装配置第六步,安装完毕后

下载

实操建议:

  • 确认 saslauthd 已启动:sudo systemctl status saslauthd;若用 Dovecot,启 dovecot 并确认 auth_mechanisms = plain login/etc/dovecot/conf.d/10-auth.conf
  • Postfix 的 /etc/postfix/main.cf 中必须有:smtpd_sasl_type = dovecot(或 saslauthd),且 smtpd_sasl_path = private/auth(Dovecot)或 smtpd_sasl_path = smtpd(saslauthd)
  • 权限陷阱:Postfix 进程用户(postfix)必须对 smtpd_sasl_path 指向的 socket 文件有读写权,常见于 /var/spool/postfix/private/auth 所有者不是 postfix:dovecot
  • 调试命令:testsaslauthd -u username -p password(验证底层认证),再 postconf -n | grep sasl 检查配置是否生效

Postfix 发信慢,mailq 里积压多,日志反复出现 connect to gmail-smtp-in.l.google.com[142.250.191.69]:25: Connection timed out

这不是 Postfix 问题,是多数家用宽带和云厂商(阿里云、腾讯云、AWS)默认封禁 25 端口出站——尤其针对新注册 IP。Gmail、Outlook 等大厂 SMTP 入口会直接拒绝连接。

实操建议:

  • 不要硬刚 25 端口:改用 smtp_tls_security_level = encrypt + smtp_sasl_auth_enable = yes,走 smtp.gmail.com:587smtp.office365.com:587
  • /etc/postfix/main.cf 加中继配置:relayhost = [smtp.gmail.com]:587,并配好 /etc/postfix/sasl_passwd(格式:[smtp.gmail.com]:587 user@gmail.com:app_password
  • 注意 Gmail 要用「应用专用密码」而非账户密码,且需开启两步验证;Office365 要确认租户允许 SMTP AUTH
  • 强制刷新:运行 sudo postmap /etc/postfix/sasl_passwd,再 sudo systemctl reload postfix

最常被忽略的是:以为配了 relayhost 就万事大吉,却忘了 postmap 没执行,或者 sasl_passwd.db 权限是 644(必须 600)导致 Postfix 拒绝读取。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

391

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

341

2023.10.25

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1605

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

463

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2280

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

40

2026.01.19

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

77

2025.09.10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1521

2023.06.21

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

1030

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9.5万人学习

Git 教程
Git 教程

共21课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号