celery基礎請移步
先說一下**主要功能:django實現web郵箱驗證頁面,填寫郵箱等資訊,利用ajax把郵箱post給後端,後端將郵箱位址傳遞給celery任務佇列,執行任務:生成驗證碼存在redis中,再把驗證碼傳送給從前端獲取到的郵箱,前端獲取到的驗證碼再和redis中的對比,通過則驗證成功。
新建專案等步驟我就不在這裡寫了,直接呈碼:
主要檔案:
messages = '註冊失敗!'
qcode = request.post.get('code1')
code_red = red.get('code').decode('utf-8')
if code_red == qcode:
messages = '註冊成功'
from_addr = '************@163.com' # 發自那個郵箱
password = '************' # 郵箱密碼
to_addr = toaddr
smtpserver = 'smtp.163.com'
msg['from'] = from_addr
msg['to'] = to_addr
msg['subject'] = 'verification code mail'
import smtplib
server = smtplib.smtp(smtpserver, 25)
server.set_debuglevel(3)
server.login(from_addr, password) # 登入
server.sendmail(from_addr, to_addr, msg.as_string())
server.quit()
return code
準備乙個郵箱,用來給使用者發驗證碼的,在郵箱頁面可以找到郵箱設定的資訊。
code_m.py
import string
import random
def create_code():
code = string.ascii_letters+string.digits+string.ascii_uppercase
codes = [''.join(random.choices(code,k=5)) for _ in range(4)]
col = '-'.join(codes)
return col
if __name__ == '__main__':
create_code()
celery.py
from celery import celery
from django.conf import settings
import os
# 為celery設定環境變數
os.environ.setdefault('django_settings_module', 'celery_django.settings')
# 建立應用
# 配置應用
# 配置broker, 這裡我們用redis作為broker
broker_url='redis:',
result_backend = 'redis:', # 結果儲存,一定要寫,不讓報錯
# celery_result_backend = 'django-db', # 使用django的資料庫 儲存結果
)
index.html
啟動celery:
執行django專案,訪問:
這裡使用手機接收上面的驗證碼:
複製郵箱中的驗證碼到web頁面中:
mysql 郵箱校驗 JS郵箱驗證 正則驗證
輸入 function check a z0 9 正規表示式 var obj document.getelementbyid mazey 要驗證的物件 if obj.value else if reg.test obj.value else 1 length 2,長度。表示乙個表示式的組。匹配的字元...
iphone 郵箱驗證
到網上搜到乙個關於郵箱驗證的 下來一試,結果發現演算法有很大的漏洞 ddd.ddd com 會通過驗證,我特此寫乙個比較好的驗證 如下 bool validateemail nsstring email return yes else else return no 以前的 如下 bool valid...
thinkphp郵箱驗證
return array 配置郵件傳送伺服器 mail host smtp.163.com smtp伺服器的名稱 mail smtpauth true,啟用smtp認證 mail username thinkphp wanlala 163.com 你的郵箱名 mail from thinkphp w...