django郵件傳送驗證碼

2021-09-19 10:45:55 字數 1706 閱讀 7337

在我們使用**註冊賬號時,使用郵箱傳送驗證碼是很普遍的事。那麼下面就介紹使用django專案傳送郵箱驗證碼來進行驗證註冊。

現在說一下在settings.py中的配置。

email_backend = 'django.core.mail.backends.smtp.emailbackend'

email_host = 'smtp.163.com'

email_port = 25

#傳送郵箱的郵件

email_host_user = '[email protected]'

#密碼或授權碼

email_host_password = 'jin'

#收件人看到的發件人

email_from = '[email protected]'

注意:有可能這裡不是要你郵箱的密碼,還有可能是授權碼。

views.py配置

# 匯入django內建傳送郵件包

from django.core.mail import send_mail

from django.conf import settings

#隨機數函式

def random_str():

_str = '1234567890abcdefghijklmnopqrstuvwxyz'

return ''.join(random.choice(_str) for i in range(4))

def email_send(request):

return render(request,'email_send.html')

def send_email(request):

"""郵件傳送函式。ajax傳送get請求,呼叫隨機字串函式,生成四位隨機數,儲存到session中,

並傳送郵件到驗證郵箱。

post請求中判斷得到的隨機字串是否與session中所儲存的字串相同,若相同則重定向到主頁面。

:param request:

:return:

"""if request.method == 'get':

try:

email = request.get['email']

except:

email = ''

email_code = random_str()

msg = '驗證碼:'+email_code

send_mail('郵箱驗證',msg,settings.email_from,

[email])

print(email_code)

# 將驗證碼儲存到session中在接下來的操作中進行驗證

# 驗證驗證碼是否輸入正確

if request.post.get('email_code') == request.session['email_code']:

return redirect('/info/')

else:

return httpresponse('驗證碼錯誤')

前端頁面

驗證

此處使用ajax傳送驗證碼,傳送成功前端彈出提示框提示傳送成功。

後台提供郵件傳送驗證碼服務

我的部落格需要增加登入驗證碼,想通過郵件傳送驗證碼 希望提供乙個http服務,其他服務和程式語言不必再寫乙個發郵件的方法 郵箱授權碼,不是登入密碼 user qq.com to qq.com if err nil w.write byte err.error func sendcaptcha cod...

手機傳送驗證碼

傳送簡訊以後,再次傳送簡訊按鈕變得不可用,倒計時60秒以後才可以使用 建立按鈕倒計時的方法 function countdown count 在傳送簡訊請求以後呼叫 傳送簡訊按鈕不可用 每過1秒呼叫1次匿名函式 匿名函式中計數減1 按鈕上的文字變為 x秒後可再次傳送驗證碼 如果計數變為0 按鈕變得可...

laravel框架手機傳送驗證碼

現在登入註冊時 我們的驗證方法 不在單一化 手機傳送驗證碼 已經成為常態 讓我們 一起來實現以下吧 1.進入檢視 ul class register li label 手機號 label input class ipt box tel bg value id regi mobile type tex...