1.获取QQ邮箱授权码
打开QQ邮箱 --> 设置 --> 账号 --> 下拉页面 --> 开启POP3/SMTP服务 --> 短信验证 --> 点击“我已发送” --> 复制16位授权码
2.Django代码实现
由于Django封装了发送邮件的方法,因此我们只需要调用send_mail()方法即可快速实现邮件发送。
2.1 settings.py配置
# 邮件相关配置 EMAIL_HOST = "smtp.qq.com" # 如果是163邮箱改成 smtp.163.com EMAIL_PORT = 465 EMAIL_HOST_USER = "XXX@qq.com" # 前面获取授权码的邮箱账号,也就是发送方邮箱 EMAIL_HOST_PASSWORD = "XXX" # 授权码 DEFAULT_FROM_EMAIL = EMAIL_HOST_USER EMAIL_USE_SSL = True
2.2 发送邮件
# -*- coding:utf-8 -*- # 作者:IT小学生蔡坨坨 # 时间:2021/5/7 15:30 # 功能:发送邮件测试 from django.core.mail import send_mail from django.conf import settings import os import django os.environ.setdefault("DJANGO_SETTINGS_MODULE", "saas.settings") django.setup() send_mail( "测试标题", # 标题 "测试内容", # 内容 settings.EMAIL_HOST_USER, # 发送方 ["XXX@qq.com"] # 接受方 )
2.3 为发送邮件单开一条线程,提高执行效率
import threading t = threading.Thread( target=send_mail, # 方法 # 参数 args=( "测试标题", # 标题 "测试内容", # 内容 settings.EMAIL_HOST_USER, # 发送方 ["291151689@qq.com"] # 接受方 ) ) t.start()