django注冊(cè)用郵箱發(fā)送驗(yàn)證碼的實(shí)現(xiàn)
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 = ’[email protected]’#獲取發(fā)送驗(yàn)證碼的郵箱# EMAIL_HOST_USERrcipient_list = [name]res = send_mail(subject=subject, message=message, from_email=form, recipient_list=rcipient_list)#發(fā)送驗(yàn)證碼返貨真或假,假代表沒(méi)有發(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)證碼的郵箱需要打開(kāi)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或587EMAIL_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注冊(cè)用郵箱發(fā)送驗(yàn)證碼的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)django 郵箱驗(yàn)證碼內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 如何在jsp界面中插入圖片2. ASP實(shí)現(xiàn)加法驗(yàn)證碼3. python selenium 獲取接口數(shù)據(jù)的實(shí)現(xiàn)4. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)5. 詳解JSP 內(nèi)置對(duì)象request常見(jiàn)用法6. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算7. Python matplotlib 繪制雙Y軸曲線圖的示例代碼8. jsp EL表達(dá)式詳解9. JSP servlet實(shí)現(xiàn)文件上傳下載和刪除10. springboot集成與使用Sentinel的方法
