Django send_mail无法发送邮件且无报错,请求问题排查
Django send_mail 无法运行问题排查与解决
1. 配置文件拼写错误(核心问题)
你的settings.py存在拼写错误,导致TLS配置未生效:
# 错误配置:多了一个字母L EMAILL_USE_TLS = True # 修正后: EMAIL_USE_TLS = True
这个错误会让Django无法正确启用SMTP的TLS加密,导致send_mail调用卡住,既不抛出错误也不继续执行后续代码。
2. Gmail SMTP 账号权限配置
修正拼写后若仍失败,需检查Gmail账号设置:
- 未开启两步验证:前往Google账号后台,开启不太安全的应用访问(若该选项已下线,需使用应用专用密码)。
- 已开启两步验证:生成应用专用密码,替换
EMAIL_HOST_PASSWORD中的普通密码。
3. 强制捕获错误信息
为了明确具体报错原因,可在代码中添加异常捕获:
print('Helloo') from django.core.mail import send_mail try: send_mail( 'Testing', 'Hi', 'testing.email2908@gmail.com', ['xyz@gmail.com'], # 你的个人邮箱 fail_silently=False, ) except Exception as e: print(f"发送失败原因:{str(e)}") print('Hiiii')
执行后会打印具体错误,比如认证失败、连接超时等,方便进一步排查。
内容的提问来源于stack exchange,提问作者Milind Sahu
相关产品推荐
相关产品推荐

