Postfix启动失败是因为端口25被exim4占用。根据输出,端口25正在被exim4进程(PID 57346)监听。

🔍 问题分析:

  1. ✅ 时间已同步 - 现在显示正确时间
  2. ❌ exim4仍在运行 - 占用端口25,导致Postfix无法启动
  3. ✅ Postfix配置已更新
  4. ❌ 邮件系统无法启动

 

🚀 立即修复方案:

方案1:完全停止exim4并启动Postfix

#!/bin/bash
echo "=== 解决端口冲突并启动邮件系统 ==="

# 1. 完全停止并禁用exim4
echo "1. 停止并禁用exim4..."
sudo systemctl stop exim4 exim4-base exim4-daemon-light 2>/dev/null
sudo systemctl disable exim4 exim4-base exim4-daemon-light 2>/dev/null
sudo pkill -9 exim4

# 2. 确认端口25已释放
echo "2. 检查并释放端口25..."
sudo netstat -tlnp | grep :25
sudo fuser -k 25/tcp 2>/dev/null
sudo lsof -ti:25 | xargs kill -9 2>/dev/null

# 3. 停止Postfix(如果正在运行)
echo "3. 停止Postfix..."
sudo systemctl stop postfix
sudo postfix stop 2>/dev/null

# 4. 清理Postfix状态文件
echo "4. 清理状态文件..."
sudo rm -f /var/spool/postfix/pid/master.pid
sudo rm -f /var/lib/postfix/master.lock

# 5. 重新启动Postfix
echo "5. 启动Postfix..."
sudo systemctl start postfix
sudo postfix start

# 6. 检查状态
echo "6. 检查服务状态..."
sudo systemctl status postfix --no-pager -l
echo -e "\n端口监听状态:"
sudo netstat -tlnp | grep :25

# 7. 测试邮件发送
echo "7. 测试邮件发送..."
echo "测试邮件 $(date)" | mail -s "端口冲突修复测试" root 2>&1

# 8. 检查日志
echo "8. 检查邮件日志..."
sudo tail -10 /var/log/mail.log 2>/dev/null || echo "等待日志生成..."

echo "=== 修复完成 ==="

📋 验证修复成功:

运行以下检查命令:

#!/bin/bash
echo "=== 邮件系统状态检查 ==="

echo "1. 检查端口25监听:"
sudo netstat -tlnp | grep :25

echo -e "\n2. 检查Postfix服务状态:"
sudo systemctl status postfix --no-pager -l

echo -e "\n3. 检查邮件队列:"
mailq

echo -e "\n4. 测试SMTP连接:"
echo "QUIT" | timeout 5 telnet localhost 25 2>&1 | head -5

echo -e "\n5. 发送测试邮件:"
echo "最终测试 $(date)" > /tmp/test_mail.txt
if mail -s "最终测试" root < /tmp/test_mail.txt 2>&1; then
echo "✓ 邮件发送成功"
else
echo "✗ 邮件发送失败"
fi

echo -e "\n6. 检查邮件日志:"
sudo tail -20 /var/log/mail.log 2>/dev/null || echo "无邮件日志"

echo -e "\n7. 检查用户邮箱:"
sudo ls -la /var/mail/
echo -e "\nroot用户的邮件内容:"
sudo tail -50 /var/mail/root 2>/dev/null | head -20

 


登陆