Django调用MTP服务器发送邮箱
邮箱的激活链接含有用户数据不能直接发送需要对其进行加密
发送邮箱是借助SMTP服务器进行中转
一. 配置SMTP服务中的邮箱信息以及激活链接
1. 配置邮箱权限
打开网易邮箱设置点击POP3
开启选项
注 : 在打开的过程中会弹出授权密码一点要保存
2. 配置SMTP服务中的邮箱信息以及激活链接
# setting # 发送邮件的配置参数 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 指定邮件后端 EMAIL_HOST = 'smtp.163.com' # 发邮件主机 EMAIL_PORT = 25 # 发邮件的端口 EMAIL_HOST_USER = '' # 授权邮箱 EMAIL_HOST_PASSWORD = '' # 邮箱授权时获取的密码,非登录邮箱的密码 EMAIL_FROM = '' # 发件人抬头 # 设置邮箱的激活连接 (请求时访问的链接 , url的参数要与其设置相同) EMAIL_VERIFY_URL = 'http://127.0.0.1:8000/verification/'
3. 在测试文件中检验是否能发送信息
发送验证码是通过from django.core.mail import send_mail中的send_mail模块
各参数的作用
''' subject: 邮件标题 message: 邮件正文(普通的文本文件,字符串) from_email: 发件人抬头 recipient_list: 收件人邮箱 (列表格式) html_message: 邮件正文(文件可以带渲染格式) '''
发送验证码
# test if __name__ == '__main__': import os os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ShopSystem.settings') import django django.setup() from django.core.mail import send_mail # 标题 subject = '验证邮箱' # 内容 message = '验证码' # 表头 from_email = '几许-<13329239941@163.com>' # 发送到的邮箱 recipient_list = ['1529063814@qq.com'] send_mail(subject, message, from_email, recipient_list)