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

使用Djoser+Mailtrap SMTP注册用户时遇Connection Refused 500错误

问题排查与修复

从错误日志和配置文件分析,核心问题是Django无法正确读取SMTP服务器地址,导致尝试连接默认的localhost(127.0.0.1)被拒绝,结合你的配置,有以下几个关键问题需要修正:

1. 错误的SMTP主机配置变量

你的配置中错误地将EMAIL_HOST写成了EMAIL:

# 错误写法
EMAIL = env("EMAIL_HOST")
# 正确写法
EMAIL_HOST = env("EMAIL_HOST")

Django的SMTP后端依赖EMAIL_HOST变量指定服务器地址,当前错误配置会让Django使用默认值localhost,这就是telnet能正常连接但代码里连接被拒绝的原因——代码根本没指向Mailtrap的服务器。

2. 拼写错误的发件人配置

DAFAULT_FROM_EMAIL存在拼写错误,正确的变量名是DEFAULT_FROM_EMAIL:

# 错误写法
DAFAULT_FROM_EMAIL = "XXXX"
# 正确写法
DEFAULT_FROM_EMAIL = "XXXX"

这个错误不会直接导致连接拒绝,但会影响邮件的发件人显示,建议一并修正。

3. 重复的端口配置(可选优化)

你在配置中重复定义了EMAIL_PORT:

EMAIL_PORT=2525
# 后面又重新赋值
EMAIL_PORT = env("EMAIL_PORT")

如果环境变量EMAIL_PORT值为2525,重复定义不会有问题,但为了配置整洁,建议保留从环境变量读取的方式(更灵活)。

修复后验证步骤

  1. 保存修正后的配置文件
  2. 重启Django开发服务器
  3. 再次用Insomnia发送注册请求
  4. 检查Mailtrap收件箱,确认激活邮件是否正常发送

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:07:31