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

Django注册API发送验证邮件报错:找不到django.core.email模块

问题排查与解决

错误根源

报错ModuleNotFoundError: No module named 'django.core.email'的核心原因是邮件模块导入路径错误——Django官方提供的发送邮件模块是django.core.mail,而非django.core.email。

代码修复步骤

1. 修正模块导入

在序列化器文件顶部补充正确的导入语句:

from django.core.mail import send_mail
from django.conf import settings

2. 修复sendmail函数的变量错误

你的sendmail函数里误用了未定义的user.email,应该直接使用传入的email参数:

def sendmail(email):
    subject = 'you should verify your account'
    message = f'please verify your account with this link.'
    email_from = settings.EMAIL_HOST_USER
    recipient_list = [email, ]  # 替换为传入的email参数
    send_mail(subject, message, email_from, recipient_list)

3. 验证自定义用户模型方法

确认你的自定义user模型的create_user方法能正确接收并处理username、email、fullname、password、userid这些字段,避免因字段不匹配引发其他隐性错误。

额外配置检查

确保settings.py中已正确配置SMTP参数(以常见的邮箱服务商为例):

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.example.com'  # 替换为你的SMTP服务器地址
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'your-email@example.com'
EMAIL_HOST_PASSWORD = 'your-email-auth-code'  # 注意是授权码而非登录密码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:07:07