QQ邮箱登录
- 1.登录邮箱客户端
- 2.进入设置-->账户-->POP3/IMAP/SMTPa/Exchange/CardDAV/CalDAV服务
- 3.进入djngo项目settings配置文件内
- 4.views
- 5.urls
- 6.html
- 7.redis连接
- 8.最终成果
1.登录邮箱客户端
2.进入设置–>账户–>POP3/IMAP/SMTPa/Exchange/CardDAV/CalDAV服务
3.进入djngo项目settings配置文件内
#设置邮件域名 发送邮件服务器:smtp.qq.com
EMAIL_HOST = 'smtp.qq.com'
#设置端口号,为数字
EMAIL_PORT = 25
#设置发件人邮箱
EMAIL_HOST_USER = '11******14@qq.com'
#设置发件人 授权码
EMAIL_HOST_PASSWORD = 'nupljgctckddjgga'
#TLS 传输安全开启
EMAIL_USER_TLS = True
4.views
from django.core.mail import send_mail
import random
#随机验证码
def vercode(user):
res1 = ''
for i in range(4):
num = random.randint(0,9)
res1 += str(num)
REDIS_CON.set(f'{user}',res1)
REDIS_CON.expire(f'{user}',3000)
return res1
#注册邮箱
class Send_Email(View):
def get(self,request):
re_send = request.GET.get('email')
sbj = '测试邮箱发送验证码'
msg = f'您的验证码为:{vercode(re_send)}'
from_send = EMAIL_HOST_USER
#subject标题 message内容 from_email发送人 recipient_list接受人(多个)
res = send_mail(subject=sbj,message=msg,from_email=from_send,recipient_list=[re_send])
if res == 1:
return render(request, 'send_email.html')
else:
return render(request, 'send_email.html')
5.urls
path('send_email/', views.Send_email.as_view()),
6.html
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>发送邮箱</title>
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
邮箱:<input type="text" name="email" id="email_id">
<input type='submit' value="发送邮箱" onclick="send()">
</body>
<script>
function send() {
$.ajax({
url:'http://127.0.0.1:8000/book_app/send_email/',
method:'get',
data:{
'email':document.getElementById('email_id').value
}
})
}
</script>
</html>
7.redis连接
在settings中添加进行redis连接
REDIS_CON = redis.StrictRedis(host = 'localhost',port = 6379)
8.最终成果
点击发送邮箱即可获得验证码