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

Django远程服务器无法发送密码重置邮件,本地运行正常

问题分析与解决方案

从你提供的uwsgi.log内容里能一眼看出关键问题:邮件的发件人是**webmaster@localhost**,而不是你在local_settings.py里配置的support@mydomain.com——这说明远程服务器上的Django完全没加载到你的邮件配置!结合本地能正常工作的情况,大概率是部署环节的配置加载问题,下面一步步排查解决:

1. 确认local_settings.py被正确引入并存在

  • 先登录远程服务器,到你的Django项目根目录,检查local_settings.py是不是真的传上去了,内容和本地的完全一致(别漏了密码这类敏感配置)。
  • 打开主settings.py文件,确认末尾有没有加载local_settings的代码:
    # 主settings.py的末尾应该有这段
    try:
        from .local_settings import *
    except ImportError:
        pass
    
    如果没有,赶紧加上——Django默认不会自动加载local_settings.py,必须显式引入。

2. 检查uWSGI的启动配置是否指向正确的settings

  • 打开你的uWSGI配置文件(比如uwsgi.ini或者uwsgi.yml),确认里面的module和env配置是否正确:
    # 示例uwsgi.ini配置
    module = your_project_name.wsgi:application
    env = DJANGO_SETTINGS_MODULE=your_project_name.settings
    
    这里的your_project_name.settings必须是你包含了local_settings引入的那个主settings文件,不能是其他自定义的settings模块。

3. 验证配置是否真的被加载

  • 在远程服务器上启动Django shell,直接检查配置:
    python manage.py shell
    
    然后输入:
    from django.conf import settings
    print("DEFAULT_FROM_EMAIL:", settings.DEFAULT_FROM_EMAIL)
    print("EMAIL_HOST:", settings.EMAIL_HOST)
    
    如果输出的不是你在local_settings.py里设置的值,说明配置确实没加载,回到前两步排查文件存在性和引入逻辑。

4. 修正SMTP端口与加密方式的匹配问题

  • 你当前配置的EMAIL_PORT=465但EMAIL_USE_TLS=True,这里有个常见误区:465端口对应的是SSL加密,应该用EMAIL_USE_SSL=True;而TLS加密通常用587端口。本地可能因为环境兼容没出问题,但远程服务器可能严格校验,建议二选一调整:
    # 选项1:用TLS+587端口
    EMAIL_PORT = 587
    EMAIL_USE_TLS = True
    
    # 选项2:用SSL+465端口
    EMAIL_PORT = 465
    EMAIL_USE_SSL = True
    

5. 重启uWSGI服务

  • 不管改了哪项配置,都要重启uWSGI让新配置生效:
    # 如果是用systemd管理uWSGI
    sudo systemctl restart uwsgi
    
    # 如果是用pid文件重载
    uwsgi --reload /var/run/your_project_uwsgi.pid
    

额外排查:查看服务器邮件日志

如果以上步骤都做完还是不行,可以查看服务器的邮件发送日志找具体错误:

  • Debian/Ubuntu系统:/var/log/mail.log
  • CentOS/RHEL系统:/var/log/maillog
    日志里会显示SMTP连接失败的原因,比如认证失败、端口被防火墙拦截、邮件服务商限制等。

内容的提问来源于stack exchange,提问作者Username

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:06:19