溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用django怎么實(shí)現(xiàn)發(fā)送驗(yàn)證碼注冊(cè)郵箱

發(fā)布時(shí)間:2021-04-19 16:31:53 來(lái)源:億速云 閱讀:274 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)使用django怎么實(shí)現(xiàn)發(fā)送驗(yàn)證碼注冊(cè)郵箱,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

視圖代碼

lis = []#設(shè)置一個(gè)空列表用來(lái)存放發(fā)送的驗(yàn)證碼,用來(lái)驗(yàn)證
def yzm1():
    res1 = ""
    for i in range(4):#用四個(gè)隨機(jī)數(shù)組成驗(yàn)證碼
        num = random.randint(0, 9)
        res1 += str(num)
    lis.append(res1)#將驗(yàn)證碼放入空的列表中
    return res1#返回驗(yàn)證碼
class zc(View):
    def get(self, request):
        return render(request, 'zc.html', locals())
    def post(self, request):
        name = request.POST['qq']#獲取前端傳遞進(jìn)來(lái)的數(shù)據(jù)
        subject = '驗(yàn)證碼'
        message = vercode()#獲取驗(yàn)證碼
        form = '837620306@qq.com'#獲取發(fā)送驗(yàn)證碼的郵箱
        # EMAIL_HOST_USER
        rcipient_list = [name]
        res = send_mail(subject=subject, message=message, from_email=form, recipient_list=rcipient_list)#發(fā)送驗(yàn)證碼返貨真或假,假代表沒有發(fā)送成功
        if res == 1:#判斷是否發(fā)送成功
            return redirect('/app01/yzm/')#成功的話跳轉(zhuǎn)到驗(yàn)證的網(wǎng)頁(yè)
        else:#不成功的話返回注冊(cè)界面
            return render(request, 'zc.html', locals())
def yzm2(request):
    if request.method == 'GET':
        return render(request, 'yzm.html', locals())
    elif request.method == 'POST':
        a = request.POST['much']#獲取到用戶輸入的驗(yàn)證碼
        if a == lis[-1]:#取最新的驗(yàn)證碼
            return HttpResponse('驗(yàn)證碼正確')
        else:
            return HttpResponse('no')

用來(lái)發(fā)送驗(yàn)證碼的郵箱需要打開POP3/SMTP服務(wù)和IMAP/SMTP服務(wù),并且獲得POP3/SMTP服務(wù)的授權(quán)碼

settings 配置文件

另外需要對(duì)django的settings文件進(jìn)行設(shè)置

# 設(shè)置發(fā)送郵件服務(wù)器:smtp.qq.com,
EMAIL_HOST = 'smtp.qq.com'
# 設(shè)置端口號(hào),如果使用的是SSL,端口號(hào)為465或587
EMAIL_PORT = 25
#設(shè)置發(fā)件人郵箱
EMAIL_HOST_USER = 'xxxxx'
# 設(shè)置發(fā)件人 授權(quán)碼   (POP3/SMTP服務(wù)的授權(quán)碼)
EMAIL_HOST_PASSWORD = 'xxxxx'
# 設(shè)置是否啟用安全鏈接
EMAIL_USER_TLS = True

關(guān)于使用django怎么實(shí)現(xiàn)發(fā)送驗(yàn)證碼注冊(cè)郵箱就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI