问题描述
我正在使用Django allauth在发送电子邮件后验证用户,但是我不断收到错误消息:
IncompleteRead(0 bytes read,116 more expected)
当前,我对注册视图的看法是在发布请求后进行处理的:
if request.method == 'POST':
form = SignUpForm(request.POST)
if form.is_valid():
storage = messages.get_messages(request)
for _ in storage:
pass
for _ in list(storage._loaded_messages):
del storage._loaded_messages[0]
user = form.save(commit=False)
#user.is_active = False
user.save()
send_email_confirmation(request,user,True)
return redirect('main:user_login')
我的Sendgrid设置为:
SENDGRID_API_KEY = 'myaapikey'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'my username'
EMAIL_HOST_PASSWORD = 'mypassword'
DEFAULT_FROM_EMAIL = DEFAULT_EMAIL
我的allauth是:
AUTH_USER_MODEL = 'main.Profile'
ACCOUNT_EMAIL_VERIFICATION='mandatory'
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_EMAIL_required= True
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = False
ACCOUNT_EMAIL_SUBJECT_PREFIX = "JoinCampus "
SOCIALACCOUNT_ADAPTER = 'main.adapters.socialAccountAdapter'
当我使用Django Email后端时,正在发送电子邮件,但是当我使用Sendgrid时,它不起作用。但是,如果我使用sg = SendGridapiclient(os.environ.get('SENDGRID_API_KEY'))
,则电子邮件发送成功。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)