通过Django发送邮件

Django_发送邮件 使用django邮箱功能需要搭建smtp服务器,如果没有,可以使用第三方smtp服务器。本文以第三方QQ邮箱服务器演示如何使用python的smtplib+email完成邮箱发送功能。 阅读详情

通过Django发送邮件非常的简单,在Python中已经内置了一个smtplib邮件发送模块,Django在此基础上进行了简单地封装,我们可以在Django的环境中方便的发送邮件。大部分邮件发送成功主要是邮件的参数配置,本文以常用的126邮箱和QQ邮箱为例介绍Django发送邮件的配置,其他提供smtp邮件服务的邮箱都是一样的。

一、Django邮件配置

用Django发送邮件需要告诉你的邮件服务器相应的参数配置,需要在settings.py中进行配置好。
默认情况下,使用配置文件中的EMAIL_HOST和EMAIL_PORT设置SMTP服务器主机和端口,EMAIL_HOST_USER和
EMAIL_HOST_PASSWORD是用户名和密码。如果设置了EMAIL_USE_TLS和EMAIL_USE_SSL,它们将控制是否使用相应的加密链接。
典型的配置如下:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.126.com'      #126邮箱的邮箱服务地址
EMAIL_PORT = 25          #端口,大部分都是默认25
EMAIL_HOST_USER = 'yourmail@126.com'    #这里是你的邮箱账号
EMAIL_HOST_PASSWORD = 'yourpassword'   #注意这里不能用你邮箱账号的密码,而要用申请的设备授权码。

这里要注意的两个地方,一个是EMAIL_PORT端口、一个是EMAIL_HOST_PASSWORD密码。
端口一般默认是25,但有些邮箱改了默认端口或需要用加密链接465、578端口,可以从邮件服务商查到。
密码以前可以用邮箱账号密码,但这几年随着安全要求的提高,大部分主要的邮件服务提供商都要用申请的授权码进一步加强安全系数。
这里介绍这些关键的信息如何在邮件服务商获取。

注意EMAIL_HOST_PASSWORD这里不能用你邮箱账号的密码,而要用申请的设备授权码。

126邮箱

进入到邮箱配置界面,点击“POP3/SMTP/IMAP”,注意要开启SMTP。
126邮箱配置界面

授权码是用于登录第三方邮件客户端的专用密码,点击"新增授权密码",降会弹出一个账号安全验证,扫描后可以快速的发短信。
账号安全验证界面

用你的注册手机发完短信后点击"我已发送"就会弹出一个授权码的窗口,要把这个授权码记下来,这个窗口只显示一次。
授权码显示界面

QQ邮箱

进入到QQ邮箱WEB界面后点击“设置”,点击“邮件设置”的“账户”页签拉到“账户安全”处就可以看到相关的SMTP服务信息

QQ邮箱配置界面

点击“生成授权码”,将弹出验证密保的界面。
验证密保界面
根据提示发送短信后,点击我已发送,将会弹出生成授权码的界面显示授权码。
授权码生成界面

如果需要SSL加密方式,可以进一步查看服务商的SMTP服务说明
如QQ邮箱的服务说明 https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=331
服务说明界面

看到使用SSL,端口号是465或587

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'  #QQ邮箱的smtp服务器
EMAIL_PORT = 465           #端口为465或587
EMAIL_USE_SSL = True    #SSL加密方式设置为True
EMAIL_HOST_USER = 'yourmail@qq.com'     #这里是你的邮箱账号
EMAIL_HOST_PASSWORD = 'yourpassword'   #注意这里不能用你邮箱账号的密码,而要用申请的设备授权码。

二、测试发送邮件

可以用django的环境在shell中测试。

python manage.py shell
from django.core.mail import send_mail
send_mail('test','this is test mail','yourmail@qq.com',['yourmail@126.com','yormail@qq.com'])

在这里插入图片描述

如果反回1就表示发送成功了, 查收邮件到达。

如果发送不成功,请仔细核对邮箱服务的相关配置,一般来说与django无关。


博客地址:http://xiejava.ishareread.com/

Django实现发送邮件功能 最近用python写了官网的后台。官网的后台功能比较简单,一个多语言支持,一个联系我们,即给公司发邮件的功能。多语言支持的方式写在另一篇博客了。这里先来说一说Django的发送邮件功能。其实python本身自带了发送邮件的功能,Django在其基础上进行了封装,使其更加简单易用。仅仅几行代码就可以实现发送邮件的功能。 但是在实际开发的时候,遇到了两个大坑,折腾了3天才真正搞定,在这里做一个简单的记录 阅读详情

相关推荐

Django异步发送邮件

https://www.jianshu.com/p/e97ca5315c90 http://docs.celeryproject.org/en/latest/getting-started/next-steps.html 文档 步骤: 1.配置:settings.py # 配置异步任务 BROKER_URL = 'redis://127.0.0.1:6379/1' # 存储结果并跟踪结果 ...

baby_chenn的博客 1169

Django 发送邮件

一般在用户注册成功后,会发送一封电邮给对方注册邮箱。进一步还可能要去用户点击邮件中链接以进行注册确认。

hj1993的博客 1469

Python Django 邮件发送功能

本文旨在为开发者提供一份全面的Django邮件发送功能指南,覆盖从基础配置到高级应用的所有方面。我们将探讨Django内置的邮件功能及其扩展应用,帮助开发者构建可靠、高效的邮件发送系统。文章将从Django邮件系统的基础配置开始,逐步深入到高级应用场景。我们将首先介绍核心概念,然后详细讲解实现步骤,最后通过实际案例展示完整应用。SMTP:简单邮件传输协议,用于发送电子邮件的互联网标准EmailBackend:Django中处理邮件发送的后端实现MIME:多用途互联网邮件扩展,定义邮件内容格式的标准。

AI Python 编程之道的博客 1313

30.django发送邮件

SMTP协议是推送(从服务端到客户端)协议,SMTM的全称是Simple Main Transfer Protocol(简单邮件传输协议),这个协议的服务一般在25号端口。

potato123232的博客 2571

Django 4.x Email 邮件使用示例和配置方法

大家好,我是Mr数据杨。诸位,是否还记得三国时期的计谋独步的诸葛亮,智勇双全的周瑜,还有锐智非凡的郭嘉?是的,他们就如同Python语言中的强大功能一样,解决了很多棘手的问题,又如同今天要讲的邮件发送功能一样。想象一下,诸葛亮在战斗中需要向各地的将领传达战略,他可能需要选择不同的信鸽(这里就如同QQ邮箱,网易邮箱,新浪邮箱,谷歌邮箱)。有了这些邮箱,他就可以选择单一发送,或者群发,甚至可以多邮件群发,这就如同在决战之时,同时向各路的将领发出行动指令。怎样保证这些信息准确无误地发送到每一个将领手中呢?

Mr数据杨 3万+

set_data_check专题[使用,report_timing,setup/hold检查]

set_data_check用于约束『数据-对-数据』的『建立保持』时间检查,通常被称为非时序约束 ( non-sequential constraints ), 理论上set_data_check 可以设在任意的两个data pin 上,其中一个pin 称为 constrained pin 类似于寄存器的data pin, 另一个pin 称为related pin 类似于寄存器的clock pin.

cy413026的博客 1万+

Django发送HTML邮件

Django发送HTML邮件 之前关于使用Django发送邮件已经写过一篇文章,不会在Django中发送邮件的话,可以先看这个传送门 在这个基础上只需要稍加配置就可以有一个比较好看的HTML而不是单调几句话的页面,话不多说,直接上代码 models.py的新生类 class NewStudent(models.Model): DEPARTMENT_CHOICE={ ('3...

随我的博客 3605

【软件介绍】GWAS meta分析软件:METAL

Meta-analysis是对多个GWAS分析结果进行综合评价。METAL是GWAS meta分析最常用的工具之一,本文简单介绍METAL软件基本用法。

hucy_Bioinfo 1万+

使用Django发送邮件

引言在日常开发中,通过程序来实现对邮箱的操作是一个很常见的应用场景。比如: 通过邮件来确认用户注册 后台管理人员针对用户的反馈发送邮件 通过邮箱来重置用户密码 那么,笔者简单介绍一下如何使用Django实现邮件的发送。 PS:笔者在这里推荐一篇掘金的文章是关于邮箱的登录注册的设计细节,其中一些细节考虑的挺好的,在设计的时候可以用来参考。 传送门:干嘛又要邮箱登录啊?—现代登录系统的结构设计准备电

日复一日,年复一年 6179

2、TCGA数据处理(差异分析前处理)

注意:1、是R语言中用于读取文本文件并创建数据框的函数。它可以从文本文件中读取数据并将其存储为数据框的形式,每一列代表一个变量,每一行代表一个观察值。2、括号要成对,不能少了;3、file = 'TCGA-LIHC.htseq_counts.tsv'引号可以是单或双引号,建议单;4、逗号主要中英文,都是用英文模式才没错;5、.tsv文件类型必须要有,不能删除,否则读不进来;6、上面代码将TCGA-LIHC.htseq_counts.tsv文件读入并赋值给count1。

PLW_12的博客 2666

倍压整流电路设计

倍压整流电路利用二极管和电容的充放电特性实现电压提升,可分为二倍压、三倍压及多倍压结构。其工作原理是通过交流电正负半周交替对电容充电并叠加电压,具有结构简单、成本低的优点,但带载能力差且纹波较大。典型应用包括示波器、电蚊拍等小电流高压场景。设计时需重点考虑电容耐压、二极管选型和负载匹配,高频驱动可优化性能。该电路在低功耗高压电源中具有独特优势,但需注意安全防护与电压稳定性问题。

硬核科技 1707

Django 发送邮件功能详解

通过本文的介绍,我们了解了 Django 中邮件发送的组成、配置、常用协议以及具体实现方法。Django 提供了简单易用的邮件发送功能,通过配置邮件服务器和编写少量代码,即可实现邮件的发送。同时,我们还学习了如何使用文件管理项目依赖,确保项目的可移植性和一致性。在实际开发中,建议将敏感信息(如邮箱密码、授权码)存储在环境变量中,并使用日志记录邮件发送的状态,以便排查问题。希望本文能帮助你更好地掌握 Django 的邮件发送功能!

jay丿的博客 1907

干货|C#上位机与西门子PLC的Profinet协议通信开发(工控机版)

文章摘要: Profinet是西门子主导的工业以太网协议,支持实时通信(RT/IRT),广泛应用于PLC与工控机通信。本文聚焦C#上位机通过S7协议(集成于Profinet接口)高效访问西门子PLC(S7-1200/1500等),提供完整开发方案: 协议基础:解析Profinet三层架构(TCP/IP层、实时层、应用层),对比S7协议优势(开发便捷、跨平台); 开发实践:基于S7NetPlus/Snap7库实现数据读写,涵盖DB块、I/O点等地址规则; 环境配置:工控机(Windows/Linux/统信UO

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1212

Django发送邮件

使用EMAIL_HOST和EMAIL_PORT设置中指定的SMTP主机和端口发送邮件。EMAIL_HOST_USER和EMAIL_HOST_PASSWORD设置(如果已设置)用于对SMTP服务器进行身份验证,而EMAIL_USE_TLS和EMAIL_USE_SSL设置控制是否使用安全连接。Django框架发送邮件的代码位于django.core.mail模块中,最简单的方法就是通过调用send_mail()方法来实现。本文学习怎么使用Django发送邮件。请看下面关于发送邮件的代码实例。

夏天又到了的专栏 910

【PostgreSQL教程】PostgreSQL 高级篇之子查询

子查询也可称为内部查询、嵌套查询,指的是在 PostgreSQL 查询中的 WHERE 子句中嵌入查询语句。一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询可以与 SELECT、INSERT、UPDATE 和 DELETE 语句一起使用,并可使用运算符如 =、、>=、

No8g攻城狮的博客 1205

boost::circular_buffer缓行缓冲区

1、circular_buffer实现了一个环形缓冲区,空间大小是固定的,当到达容器末尾时,将自动利用容器另一端的位置空间。 2、当程序需要容纳大量的元素,但多数情况下仅保存较少数量元素时可以使用circular_buffer_space_optimized,他可以有效的减少内存的占用,提高程序的运行效率。 3、主要接口: 4、实现一个生产者---消费者模式示例: #inc...

小米的修行之路 790

Django发送QQ邮件

由于要在电子邮件中包含指向该文章的链接,因此使用该文章的get_absolute_url()方法检索该文章的绝对路径,作为request.build_absolute_uri()的输入,构建一个完整的URL,包括HTTP和主机名。使用form.as_p方法会使用\<p>呈现段落,还可以使用as_ul将表单呈现为无序列表,或者使用as_table将表单呈现为HTML表格。使用经过验证的表单数据构建电子邮件的主题和消息体,最后将电子邮件发送到表单的to字段包含的电子邮件地址。

旁门贰号 1743

YOLOv11改进策略【模型轻量化】| 替换华为的极简主义骨干网络:VanillaNet

本文记录的是基于VanillaNet的YOLOv11轻量化改进方法研究。VanillaNet的极简主义在于无 shortcut 连接,并且在网络的每个阶段仅使用一层卷积,无额外复杂模块,仅通过自身简洁的架构设计和训练策略,实现有效地训练和优化。本文在替换骨干网络中配置了原论文中的、和11种模型,以满足不同的需求。

Limiiiing的博客 1722

django 发送html邮件,Django发送html邮件的方法

本文实例讲述了Django发送html邮件的方法。分享给大家供大家参考。具体如下:在Django中,发送邮件非常的方便,一直没有时间,今天来做一个小小的总结吧。我们常用的当然是通过send_mail发送邮件:send_mail(subject,message,from_email,recipient_list,fail_silently=False,auth_user=None,auth_pass...

weixin_36048031的博客 708

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Django发送HTML格式的邮件

Django发送HTML格式的邮件 1. settings.py配置 EMAIL_HOST = 'smtp.qq.com' # 邮件发送的服务器,开启SMTP服务时候,一般可以查到地址 EMAIL_HOST_USER = '邮箱地址' # 用于发送邮件的邮箱地址 EMAIL_HOST_PASSWORD = 'password' # SMTP服务密码 EMAIL_USE_TL...

Vee__的博客 1990

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Django:发送邮件

目录一、应用场景二、邮件相关协议1、SMTP协议 一、应用场景 二、邮件相关协议 1、SMTP协议

weixin_42011794的博客 2518

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

用Django 发送邮件的方法

新建一个项目,在templates 文件里新建一个index.html 文件,并设置setting.py 文件 在index.html 文件里进行如下配置,作为发送邮件的准备 &amp;amp;lt;!DOCTYPE html&amp;amp;gt; &amp;amp;lt;html lang=&amp;quot;en&amp;quot;&amp;amp;gt; &amp;amp;lt;head&amp;amp;gt; &amp

江玉郎 6167

Django使用Celery异步发送邮件

Celery 是一个简单、灵活且可靠的分布式系统,可以处理大量消息,同时为操作提供维护此类系统所需的工具。它是一个专注于实时处理的任务队列,同时也支持任务调度。

积跬步,至千里。 1475

在django中实现邮件发送

今天看了下如何在django中发送邮件,看的时候有些地方不懂,但是在实践了一下后就明白了,废话不多说,直接上笔记 from django.core.mail import send_mail, send_mass_mail, mail_admins # 单发的邮件 """ send_main(subject,message,from_email,recipient_list,fai...

你呢的博客 1353
上一篇: 安全托管服务与重保安全服务
下一篇: Django+Celery+Flower实现异步和定时任务及其监控告警
xiejava1018
xiejava1018 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄24年 4万+粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiejava1018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值