Django邮件发送
settings.py
# 发送邮件配置
#服务器
EMAIL_HOST = "smtp.163.com"
#服务器开放的端口
EMAIL_PORT = 25
#用户名
EMAIL_HOST_USER = "asimov_w@163.com"
#密码
EMAIL_HOST_PASSWORD = "授权码"
#是否开启安全模式发送
EMAIL_USE_TLS = False
#来自那个用户
EMAIL_FROM = "asimov_w@163.com"
send.py
send_mass_mail()和 send_mail()之间的主要区别是 send_mail()打开每一个它的执行时间的邮件服务器的连接,同时send_mass_mail()使用其所有消息的单个连接。这会 send_mass_mail()稍微提高效率
import random
from django.core.mail import send_mail
from Node_W.settings import EMAIL_FROM
from index.models import EmailRecord
##随机生成验证码
def code_RQ(codelength=8):
code=''
str='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789'
str_len=len(str)-1
for i in range(codelength):
code+=str[random.randint(0,str_len)]
return code
# print(code())
##发送邮件
def send_register_email(email,send_type):
## 实例化models的邮箱验证模块
# email_record=EmailRecord()
# ##将给用户发送的信息保存到数据库中
# ##实例化验证码模块
code=code_RQ()
# email_record.code=code
# email_record.email=email
# email_record.send_type=send_type
# email_record.save()
##邮件内容
##判断发送邮件的类型
if send_type == 'register':
title='注册链接'
body='验证码:%s' %code
##发送邮件
"""
subject, message, from_email, recipient_list,
fail_silently=False, auth_user=None, auth_password=None,
connection=None, html_message=None
主题 ,信息,发件人,收件人列表
"""
send_status=send_mail(title,body,EMAIL_FROM,[email])
if send_status:
print('邮件发送成功')
send_register_email(email='1019022410@qq.com', send_type='register')
在pycharm下单个运行django带settings设置的一定要指定settings