邮箱信息配置
在django项目的setting.py文件中添加如下的配置
# 发送邮件配置
EMAIL_HOST = "smtp.163.com"
EMAIL_PORT = 25
EMAIL_HOST_USER = "l791034063@163.com"
EMAIL_HOST_PASSWORD = "xxxxxxxxxxx"
EMAIL_USE_TLS = False
EMAIL_FROM = "l791034063@163.com"
现在介绍下上面的参数:
EMAIL_HOST:
是你的邮箱的smtp服务器,这里简单介绍下SMTP,SMTP就是简单邮箱传输协议基本邮箱都会提供该服务,不过需要自行开启,具体开启方法,我这里不过讲解。
EMAIL_PORT:
smtp服务器的端口号,不同的服务器有不同的端口号,可以百度查找
EMAIL_HOST_USER:
该参数填写的是你的邮箱
EMAIL_HOST_PASSWORD:
该参数填写的不是你的邮箱登陆密码,而是在开启SMTP服务的时候,会填写一个密码,使用的是该密码
EMAIL_USE_TLS:
该参数是否使用安全传输协议,参数默认是False
EMAIL_FROM:
该参数是我自己添加的参数,一会在发送的时候会有需要
以上邮箱的配置已经配置好了,现在进行发送邮件
django中已经给我提供了发送邮件的方法,可以直接使用下面代码导入该函数
from django.core.mail import send_mail
该函数的函数名及参数定义:def send_mail(subject, message, from_email, recipient_list,
fail_silently=False, auth_user=None, auth_password=None,
connection=None, html_message=None):
必须传入的四个参数,第一个subjet是邮件的题目,第二个message是邮件的内容,第三个from_email是邮件的发送者,这里可以直接使用setting中的EMAIL_FROM参数,第四个recipent_list是收件人,该参数是一个列表,传入的时候注意数据格式。
额外提供一个生成随机字符串的方法:
def generate_random_str(randomlength=8): # 生成随机字符串
str = ''
chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789'
length = len(chars)-1
random = Random()
for i in range(randomlength):
str+=chars[random.randint(0, length)]
return str
使用到了random中的Random类和randint方法,很简单。