Django 发送邮件
用户邮箱注册、发送验证码流程图

那,如何解决?
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_FROM import random def 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_code
email_rcode.send_type = _type
email_rcode.email = email
email_rcode.save()
# 真正启动Django自带的发送邮件功能,邮件标题,邮件内容,发送人,发给谁,发送成功则返回1,失败则返回0
email_status = send_mail(subject=email_title, message=email_body, from_email=EMAIL_FROM, recipient_list=[email])
return email_status # 忘记密码发送验证邮件, 和 发送验证码逻辑一样
if _type == 'forget':
pass def get_random_code(length=8):
"""获得随机字符串"""
code = ''
choice_str = 'abcdefghijklmnopqrstuvwxyz0123456789'
for _ in range(length):
random_str = random.choice(choice_str)
code += random_str
return code
核心知识:
1. django发送邮件模块 send_mail
2. setting中配置邮件服务参数
3. 判断发送邮件类型并保存邮件信息到数据库中去
4. 随机字符的获取
Django 发送邮件的更多相关文章
- Django——发送邮件
Django--发送邮件 在web应用中,服务器对客户发送邮件来通知用户一些信息,可以使用邮件来实现. Django中提供了邮件接口,使我们可以快捷的建设一个邮件发送系统. 以下是一个简单实例: se ...
- $Django 发送邮件--django封装模块和python内置SMTP模块
一 使用SMTP模块发送邮件 import smtplib from email.mime.text import MIMEText from email.header import Header m ...
- Django发送邮件和itsdangerous模块的配合使用
项目需求:用户注册页面注册之后,系统会发送一封邮件到用户邮箱,用户点击链接以激活账户,其中链接中的用户信息需要加密处理一下 其中激活自己邮箱的smtp服务的操作就不在加以说明,菜鸟教程上有非常清晰的讲 ...
- django发送邮件的坑
django发送邮件的坑 配置django发邮件的时候本地发送时好好的,但是放到阿里云的服务器上却不能发送. 经过一系列的排查后终于发现是阿里云把25端口给封了. 后来改用smtps的方式发送,更改d ...
- Django发送邮件
1. 配置相关参数 如果用的是 阿里云的企业邮箱,则类似于下面: 在 settings.py 的最后面加上这些 EMAIL_BACKEND='django.core.mail.backends.smt ...
- django发送邮件send_mail&send_mass_mail
一.配置 在setting.py中进行相关配置: EMAIL_HOST = 'smtp.sina.cn' #SMTP地址 EMAIL_PORT = 25 #SMTP端口 EMAIL_HOST_USER ...
- django 发送邮件功能
setting.py # 邮件配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.e ...
- Django发送邮件方法
在Django中将渲染后的模板进行邮件发送,可以使用send_email方法 首先在settings.py中添加如下配置 # 邮件配置SSL加密方式 EMAIL_HOST = 'smtp.qq.com ...
- 富文本编辑器、全文检索和django发送邮件
1.富文本编辑器 1.1快速了解 借助富文本编辑器,网站的编辑人员能够像使用offfice一样编写出漂亮的.所见即所得的页面.此处以tinymce为例,其它富文本编辑器的使用也是类似的. 在虚拟环境中 ...
随机推荐
- sql基本知识
1.类型转换 用convert,cast float转换出现科学计数字母的问题:可以先转成numeric再转成varchar declare @fl float set @fl=1234567.123 ...
- OpenCV探索之路(二):图像处理的基础知识点串烧
opencv图像初始化操作 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> using n ...
- 【读书笔记】【深入理解ES6】#8-迭代器(Iterator)和生成器(Generator)
循环语句的问题 var colors = ["red", "green", "blue"]; for (var i = 0, len = c ...
- 一次完整的http的请求过程
一个完整的http的完成请求过程: 输入网址-> 域名解析-> tcp的三次握手-> 建立tcp连接后发起http 请求-> 服务器响应http ,发送数据给浏览器-> ...
- Git学习随笔
前期准备事项: 1.注册GitHub账号,注册地址:https://github.com 2.下载Git for Windows工具,下载地址:http://gitforwindows.org,软件安 ...
- JSP和Servlet笔记
一.JSP的3个编译指令 作用:page指令用于设置整个jsp页面相关的属性,比如页面的编码格式.所包含的文件等等,它们包含在<%@ page %>标记中. 1)page 指令 以 ...
- CTF---Web入门第十二题 程序逻辑问题
程序逻辑问题分值:20 来源: 实验吧 难度:中 参与人数:6909人 Get Flag:1993人 答题人数:2070人 解题通过率:96% 绕过 解题链接: http://ctf5.shiyanb ...
- C++输出二进制文件和文本文件
所谓二进制文件和文本文件对于字母而言没有什么不同,都是存储该字母的ASCII码值.能引起不同的是数字和一些排版用符号的格式. 数字在二进制文件中会存储该数字的值,而文本文件中则首先将该数字视为字符量, ...
- [学习OpenCV攻略][017][ARM9下移植OpenCV]
安装环境 宿主机: Red Hat Enterprise Linux Server 6.3 开发板: mini2440 相关软件: cmake-3.5.1.tar.gz.OpenCV-2.3.1a.t ...
- [国嵌攻略][077][Linux时间编程]
时间类型 Coordinated Universal Time(UTC):世界标准时间,也就是格林威治时间(Greenwich Mean Time, GMT). Calendar Time:日历时间, ...