Django 配置邮箱服务,实现发送信息到指定邮箱

news/2024/9/28 13:32:39 标签: django

一、这里以qq邮箱为例,打开qq邮箱的SMTP服务

在这里插入图片描述

djangosettingpy__5">二、django项目目录设置setting.py 文件

setting.py 添加如下内容:

# 发送邮件相关配置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '发送邮件的邮箱地址'
EMAIL_HOST_PASSWORD = '邮箱SMTP服务授权码'
DEFAULT_FROM_EMAIL = '发送邮件的邮箱地址'
  • EMAIL_BACKEND:

    • django.core.mail.backends.smtp.EmailBackend 表示使用 SMTP 邮件传输协议来发送邮件。SMTP 是邮件传输协议的标准。
  • EMAIL_USE_TLS:

    • 设置为 True 表示启用 TLS (Transport Layer Security),它是一种用于加密电子邮件传输的安全协议,可以确保邮件传输的安全性。常用于现代的邮件服务器。
  • EMAIL_HOST:

    • 'smtp.qq.com' 是 QQ 邮箱的 SMTP 服务器地址,表示通过这个服务器发送邮件。
  • EMAIL_PORT:

    • 587 是 SMTP 服务器的端口号,587 是常用的支持 TLS 的端口。
  • EMAIL_HOST_USER:填写邮件服务器的用户名,即发送邮件时使用的邮箱地址。

  • EMAIL_HOST_PASSWORD:填写授权码,而不是邮箱密码。QQ 邮箱等服务通常要求生成一个专用的 SMTP 授权码来代替实际密码进行验证,以增强安全性。

  • DEFAULT_FROM_EMAIL:设置默认发件人邮箱地址。如果在发送邮件时没有指定发件人,则使用这个邮箱地址作为默认发件人。

配置详情如图:

在这里插入图片描述

三、编写邮箱发送代码

import os

# 引入django框架自带的发送邮箱函数
from django.core.mail import send_mail
import django


def send_email_demo(title,receive_email_address, message):
    """
    发送邮箱演示
    :param title: 邮箱标题
    :param receive_email_address:收件人邮箱
    :param message: 发送信息
    :return:
    """
    send_mail(title, message=message, from_email=None, recipient_list=[receive_email_address])


if __name__ == '__main__':
    # 设置 Django 的 settings 模块路径
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings')
    # 初始化 Django
    django.setup()

    send_email_demo('发送邮箱演示','收件人邮箱地址', 'hi,我通过python django给你发的邮件')
    print('邮箱发送成功')

效果如下:

在这里插入图片描述


http://www.niftyadmin.cn/n/5681184.html

相关文章

Vue 技术入门 day1 模版语法、数据绑定、事件处理、计算属性与监视、class和style绑定、条件渲染v-if/v-show、列表渲染v-for

目录 1.Vue 核心 1.1. Vue 简介 1.1.1 介绍与描述 1.1.2 Vue 的特点 1.2 模板语法 1.2.1 模板的分类 1.2.2 插值语法 1.2.3 指令语法 1.2.4 实例 1.3 数据绑定 1.3.1 单向数据绑定 1.3.2 双向数据绑定 1.3.3 MVVM 模型 1.3.4 data与el的2种写法 1.3.5 实例 1.3.…

HTML基础用法介绍一

VS code 如何快速生成HTML骨架注释是什么?为什么要写注释?注释的标签是什么?标题标签段落标签换行标签与水平线标签 (都是单标签)文本格式化标签图片标签超链接标签音频标签视频标签 🚘正片开始 VS code 如何快速生成…

Paddlets时间序列集成模型回测实战:MLPRegressor、NHiTSModel与RNNBlockRegressor

好的,我们继续深入理解代码的每个部分。以下是每个主要模块的详细解释: 1. 导入模块和库 import json import os import glob import pandas as pd from tqdm import tqdm from paddlets.datasets import TSDataset from paddlets.transform import StandardScaler from pa…

C语言开发基础新手快速入门及精通系列学习教程(系统性完整C语言学习笔记整理)

关注我,一起学编程 前言 作为一名拥有多年开发经验的码农,我的职业生涯涵盖了多种编程语言,包括 C 语言、C、C# 和 JavaScript。在这一过程中,我深刻地意识到扎实的基础对于编程学习的重要性,尤其是对于 C 语言…

0x09 瑞友 应用虚拟化系统 GetBSAppUrl SQL注入漏洞 - 复现

参考:瑞友 应用虚拟化系统 GetBSAppUrl SQL注入漏洞 | PeiQi文库 (wgpsec.org) 漏洞描述 瑞友应用虚拟化系统中的 GetBSAppUrl 方法存在 SQL注入漏洞。由于请求参数未经过滤,攻击者可以利用此漏洞执行恶意SQL查询,从而获取数据库中的敏感信息。 漏洞影响 受影响版本:瑞友…

【it】软件领域发展的终极愿景——万物皆智能,万事皆自动

无论是发明东西,还是设计程序,我编了一个终极目标“万物皆智能,万事皆自动”,虽然现在很难实现,但我相信,有着无数人的共同努力,我们都可以达到这样的生活。 我认为这个愿景非常宏伟且充满前瞻性…

16 Midjourney从零到商用·实战篇:产品工业设计

未来的产品设计师,一定真的不能只会画图,要往多元化发展,要有更强的思维能力综合的判断能力,懂市场,懂加工,懂生产等,变成综合类人才。基础的设计工作部分已经被AI所取代,生产力在一…

《一本书讲透Elasticsearch》读书笔记-索引

索引 定义 索引是具有相同结构的文档的集合,由唯一索引名称标定,一个集群中有多个索引,不同的索引代表不同的业务类型数据 命名规范 只能使用小写字母,不能使用大写字母不能包括“\”​“/”​“*”​“?”​“​“​”​“<…