Django使用cPanel邮箱发信页面加载卡住问题及修复方案
Django集成allauth配置cPanel邮箱发信页面无响应修复方案
问题表现
在Django项目中集成allauth实现用户认证功能时,需配置邮件服务,在用户注册账号、重置密码场景下自动发送通知邮件。使用cPanel创建的域名邮箱作为发信邮箱时,完成配置后测试注册流程,页面持续处于加载状态,无任何响应。
初始错误配置
# email message send EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST= 'mail.filltasks.live' EMAIL_HOST_USER= 'no-reply@filltasks.live' EMAIL_HOST_PASSWORD= 'mypass_namecheap_acc' EMAIL_USE_TLS= True EMAIL_PORT= 465 DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
配置错误原因
- 加密方式与端口不匹配:465端口为SSL加密协议专用端口,配置开启TLS加密时对应服务端口为587,参数错配会导致SMTP连接持续挂起无返回,直接表现为前端页面加载卡死
- 认证密码填写错误:配置中填写的是主机商平台账号密码,而非cPanel后台创建对应邮箱账号时设置的独立邮箱密码,会导致认证流程卡住
修正后可用配置
替换为以下配置后功能即可正常运行
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 替换为自身域名对应的SMTP地址,格式通常为mail.你的域名,例如mail.site.com EMAIL_HOST = 'mail.yourdomain' EMAIL_HOST_USER = 'no-reply@filltasks.live' DEFAULT_FROM_EMAIL = EMAIL_HOST_USER # 填写cPanel中创建该邮箱时设置的独立密码,不要填写主机商平台的账号密码 EMAIL_HOST_PASSWORD = '对应邮箱账号的独立密码,非主机商账号密码' EMAIL_PORT = 587 EMAIL_USE_SSL = False EMAIL_USE_TLS = True
内容的提问来源于stack exchange,提问作者devo
相关产品推荐
相关产品推荐

