Django-配置邮箱功能(一):使用django自带的发送邮件功能

一、获取邮箱授权码

以QQ邮箱为例子:

1、进入到设置,找到账户

2、开启POP3等服务,点击管理服务

3、进入管理服务,生成授权码

4、按照要求发送短信就可以了

5、将授权码复制保存,离开界面就看不到了

二、django项目中的配置

1、settings.py配置邮箱服务

python 复制代码
#邮件配置
# EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'  # 如果是 163 改成 smtp.163.com
EMAIL_PORT = 465
EMAIL_HOST_USER = 'xxxx@qq.com'  # 发送邮件的邮箱帐号
EMAIL_HOST_PASSWORD = 'QQ邮箱的授权码'  # 授权码,各邮箱的设置中启用smtp服务时获取
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER  #收件人显示发件人的邮箱
# DEFAULT_FROM_EMAIL = '<xxxxx@qq.com>' #也可以随意写
EMAIL_USE_SSL = True   # 使用ssl
# EMAIL_USE_TLS = False # 使用tls
# EMAIL_USE_SSL 和 EMAIL_USE_TLS 是互斥的,即只能有一个为 True

2、在视图函数给邮箱发送短信

python 复制代码
from django.core.mail import send_mail
import threading
from study_celery import settings
from django.view import View
from django.http import JsonResponse

class TestView(View):
    def post(self,request):
        email = request.POST.get('email')
        data = request.POST.get('data')
        t = threading.Thread(
        target=send_mail,
        args=(
            "我给你发送邮件了",#邮件标题
            f'邮箱的主体内容,{data}',#邮件内容(文本),有html_message参数,这里配置失效
            settings.EMAIL_HOST_USER,#用于发送邮件的邮箱地址,配置授权码的邮箱
            [email],  # 接收邮件的邮件地址,可以写多个
         ),
         # html_message中定义的字符串即HTML格式的信息,可以在一个html文件中写好复制出来放在该字符串中
         kwargs={
                'html_message': f"<p>这里是html的数据</p> <p>使用的是html的数据:{data}</p>"
         })
        t.start()
        return JsonResponse({"code":200,'msg':'邮件发送成功了'})

3、调用请求的api,测试是否可以发送邮件

相关推荐
问天_观心8 小时前
大模型微调学习(二)
人工智能·python·深度学习·学习·语言模型·transformer
洋洋不叫杨杨8 小时前
揭秘当下知名的SEO优化渠道,你知道几个?
大数据·python
阿童木写作8 小时前
跨境图片翻译工具推荐:批量处理视频字幕与智能抠图
python·音视频
梦想的颜色8 小时前
OCR 识别原理与 Python 识图全实战:从文字提取到图像内容理解
python·计算机视觉·ocr·图像识别·python 识图
禹凕8 小时前
Dijkstra算法详解与应用
python·算法
别走!万哥爱你9 小时前
Python 中可以用于在已排序的列表中查找特定元素的位置的是什么?
python
wxwx_bscxy32210 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
TechWayfarer11 小时前
Cloudflare 9·15新政倒计时:用IP风险画像识别AI爬虫,防止误伤Googlebot
网络·人工智能·爬虫·python·tcp/ip·网络安全
禹凕11 小时前
滑动窗口算法实战指南
python·算法
论文复现现场12 小时前
RTX 4090 24GB 能跑 Qwen3.8-27B 吗?单卡显存计算与云端部署指南
人工智能·python·云计算·llama·gpu算力