Django 发送邮件
Posted 北门吹雪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 发送邮件的主要内容,如果未能解决你的问题,请参考以下文章