拿qq邮箱当做发件箱举例子,首先配置邮箱
在qq邮箱的账户设置里面设置如下
得到第三方登陆授权码
setting.py中设置如下:
# 发送邮件设置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' #固定写法
EMAIL_HOST = 'smtp.qq.com' #SMTP地址
EMAIL_PORT = 25 #SMTP端口
EMAIL_HOST_USER = '380833572@qq.com' #发送邮件的邮箱
EMAIL_HOST_PASSWORD = '******' # 授权码
EMAIL_SUBJECT_PREFIX = '[一念永恒的博客] ' #为邮件Subject-line前缀,默认是'[django]'
EMAIL_USE_TLS = True # 与SMTP服务器通信时,是否启动TLS链接(安全链接)默认false
view.py
局部关键代码示例;
if email != '':
# 生成验证码
code = ''.join(random.sample(string.ascii_letters + string.digits, 4))
now = int(time.time())
send_code_time = request.session.get('send_code_time', 0)
if now - send_code_time < 30:
data['status'] = 'ERROR'
else:
request.session[send_for] = code
request.session['send_code_time'] = now
# 发送邮件
send_mail(
'绑定邮箱',
'验证码:%s' % code,
'380833572@qq.com',
[email],
fail_silently=False,
)
data['status'] = 'SUCCESS'
else:
data['status'] = 'ERROR'