其實驗證方法比較簡單,只需要傳送指定的鏈結給目標郵箱,使用者點選鏈結即可通過驗證,但是合成和驗證這個指定的鏈結需要我們來處理,我用到的方法是,當使用者申請郵箱驗證的時候根據其郵箱位址和乙個32位隨機驗證碼去合成乙個連線,當正常訪問的使用後台可通過url獲取郵箱名以及驗證碼,再根據這兩個值去資料庫中匹配,看能否成功,若是成功則完成驗證失敗則提示使用者鏈結無效,接下來是具體的實現方法:
class email_reset(models.model):
email_address = models.emailfield(null=false,unique=true) #郵箱位址唯一的
vc_code = models.charfield(max_length=64,null=false) #隨機驗證碼
send_time = models.datetimefield(auto_now=true) #郵箱傳送時間
當使用者需要用到郵箱驗證的時候,則往資料庫中新建一條資料之後在將郵箱位址和隨機驗證碼合成為連線傳送給目標
def send_email(email_address):
vc_code = vc_code_generator()
msg = '重置密碼'\
'如果不是你本人操作請忽略本訊息,本條訊息30分鐘內有效,如果被禁止跳轉請複製鏈結在瀏覽器中重新開啟'\
'點選重置密碼' % (email_address,vc_code)
u = models.email_reset.objects.filter(email_address=email_address).first()
if u :
models.email_reset.objects.filter(email_address=email_address).update(vc_code= vc_code)
else:
models.email_reset.objects.create(email_address=email_address,vc_code=vc_code)
send_mail('重置密碼', '請前往這個**:localhost:8000/forgetpwd重置密碼', "*****管理員<****************@163.com>",
[email_address], fail_silently=false, html_message=msg)
#生成隨機驗證碼
Django 使用Ajax驗證郵箱
今天在給部落格做註冊功能,在找回密碼驗證郵箱時,選擇使用ajax非同步驗證是否已經註冊,好久不用ajax,都快忘完了,磕磕絆絆的折騰了半天,才搞好,遇到問題都是在網上找各位大神的部落格,這次也做個詳細的記錄,也為後來人貢獻乙份力量!1,建立表單,2,配置路由 檢視檢視函式,3,傳送ajax請求,建立...
用Django進行郵箱驗證 瘋狂轟炸室友郵箱
記得有一次上課,我沒去,結果那天我們學的是用django傳送郵箱驗證,然後我就被室友用郵箱驗證寫了個300條的迴圈,給我的郵箱塞得慢慢的。一.首先我給大家看一下乙個簡單的 1.view函式中 result 定義乙個字典,用來記錄運 況 try for i in range 300 subject 這...
django實現利用郵箱進行登入
專案工作中,有時候的登入方式不僅僅限於使用使用者名稱登入,有時候客戶還會要求進行郵箱或手機號進行登入。接下來我們就一起看看是怎麼實現的吧!1 首先我們需要在我們的配置檔案中新增上以下 指定後端認證 authentication backends django.contrib.auth.backend...