You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 24.04.1 LTS升级后Sendmail Gmail中继需手动重载才能发送邮件的问题

Ubuntu 24.04.1 LTS升级后Sendmail Gmail中继需手动重载才能发送邮件的问题

Hey,看到你升级Ubuntu 24.04后遇到Sendmail Gmail中继的这个问题,确实挺闹心的——明明之前配置好好的,升级后非得手动重载才能正常发邮件。我帮你梳理几个可能的排查方向和解决办法:

  • 先确认Sendmail服务的开机自启与启动状态:升级过程中系统服务的启动配置可能被重置,导致Sendmail启动时没加载最新的Gmail中继配置。先检查当前服务状态:

    sudo systemctl status sendmail
    

    如果显示服务未启用或启动异常,设置开机自启并重启服务:

    sudo systemctl enable --now sendmail
    sudo systemctl restart sendmail
    

    之后测试发送邮件,看是否还需要手动重载。

  • 重新编译Sendmail配置文件:虽然你提到升级时已经自动remake了配置,但自动操作偶尔会有遗漏。手动重新编译一次,确保所有设置生效:

    cd /etc/mail
    sudo make
    sudo systemctl restart sendmail
    

    这个操作会重新生成sendmail.cf等核心配置文件,能解决不少升级后的配置不兼容问题。

  • 检查Sendmail的监听端口:报错里的「Connection refused by [127.0.0.1]」说明Sendmail没在本地端口正常监听。用下面的命令查看监听状态:

    ss -tulpn | grep sendmail
    

    如果看不到Sendmail监听127.0.0.1的25端口(或你配置的其他端口),大概率是启动时配置加载失败,上面的重新编译操作应该能解决这个问题。

  • 验证认证配置文件的权限:Gmail中继的认证信息文件权限必须严格限制,否则Sendmail启动时会拒绝加载。检查/etc/mail/authinfo下的文件权限:

    sudo ls -l /etc/mail/authinfo/
    

    确保gmail-auth和gmail-auth.db的权限是-rw-------(即600),所有者为root。如果权限不对,修改后重启服务:

    sudo chmod 600 /etc/mail/authinfo/gmail-auth*
    sudo systemctl restart sendmail
    
  • 调整systemd服务的启动依赖:Ubuntu 24.04的systemd可能调整了服务启动顺序,Sendmail可能在网络服务就绪前就启动了,导致无法加载网络相关的中继配置。编辑Sendmail的systemd服务文件:

    sudo nano /lib/systemd/system/sendmail.service
    

    在[Unit]区块里添加:

    After=network.target
    

    保存后重新加载systemd配置并重启服务:

    sudo systemctl daemon-reload
    sudo systemctl restart sendmail
    

如果以上方法都试过还是不行,可以仔细查看/var/log/mail.err里的详细错误信息,或者用mailq查看邮件队列的具体状态,这些信息能帮你定位更细节的问题。

备注:内容来源于stack exchange,提问作者user2117779

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:09:42