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服务

imap管理邮件python python 邮件服务_python

imap管理邮件python python 邮件服务_验证码_02


imap管理邮件python python 邮件服务_html_03

imap管理邮件python python 邮件服务_验证码_04

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.最终成果

点击发送邮箱即可获得验证码

imap管理邮件python python 邮件服务_redis_05

imap管理邮件python python 邮件服务_imap管理邮件python_06

imap管理邮件python python 邮件服务_redis_07