Django实现发送邮件


1.获取QQ邮箱授权码

打开QQ邮箱 --> 设置 --> 账号 --> 下拉页面 --> 开启POP3/SMTP服务 --> 短信验证 --> 点击“我已发送” --> 复制16位授权码

image-20210507152711189

image-20210507152251281

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()
posted @ 2021-05-07 16:10  测试蔡坨坨  阅读(214)  评论(0编辑  收藏  举报