Django-发送注册、忘记密码邮件验证-send_mail
生活随笔
收集整理的這篇文章主要介紹了
Django-发送注册、忘记密码邮件验证-send_mail
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用戶郵箱注冊、發送驗證碼流程圖
那,如何解決?
1.? setting配置郵箱參數
# 郵箱設置,需要在郵箱中開啟smtp服務 # 提供服務的主機域名 EMAIL_HOST = 'smtp.163.com' # 郵箱服務端口 EMAIL = 25 # 開通smtp服務的賬號 EMAIL_HOST_USER = '自己的郵箱地址' # 相關密碼 EMAIL_HOST_PASSWORD = '郵箱密碼' # EMAIL_USE_TIS = False # 發件人郵箱地址 EMAIL_FROM = '自己的郵箱地址'?
2.? 導入django發送郵箱模塊,?并調用模塊
#?其中還有一個過程就是需要導入保存郵箱驗證碼的表,先發送郵件,如果郵件發送成功則保存驗證信息到數據庫
__author__ = 'beimenchuixue' __blog__ = 'http://www.cnblogs.com/2bjiujiu/'# 發送郵件模塊 from django.core.mail import send_mail # 驗證碼信息表 from users.models import EmailVerifyRecord # 發件人 from MxOline.settings import EMAIL_FROMimport randomdef to_send_email(email, _type='register'):"""發送郵件"""email_rcode = EmailVerifyRecord()# 注冊發送驗證郵件if _type == 'register':random_code = get_random_code()email_title = 'title'email_body = '點擊連接完成激活: http://127.0.0.1:8000/active/{random_code}/{_type}'.format(random_code=random_code,_type=_type)# 保存驗證碼email_rcode.code = random_codeemail_rcode.send_type = _typeemail_rcode.email = emailemail_rcode.save()# 真正啟動Django自帶的發送郵件功能,郵件標題,郵件內容,發送人,發給誰,發送成功則返回1,失敗則返回0email_status = send_mail(subject=email_title, message=email_body, from_email=EMAIL_FROM, recipient_list=[email])return email_status# 忘記密碼發送驗證郵件, 和 發送驗證碼邏輯一樣if _type == 'forget':passdef get_random_code(length=8):"""獲得隨機字符串"""code = ''choice_str = 'abcdefghijklmnopqrstuvwxyz0123456789'for _ in range(length):random_str = random.choice(choice_str)code += random_strreturn code
核心知識:
1.? django發送郵件模塊 send_mail
2.?setting中配置郵件服務參數
3.?判斷發送郵件類型并保存郵件信息到數據庫中去
4.?隨機字符的獲取
轉載于:https://www.cnblogs.com/2bjiujiu/p/7452720.html
總結
以上是生活随笔為你收集整理的Django-发送注册、忘记密码邮件验证-send_mail的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel公式笔记
- 下一篇: 要选择做有价值的事情