Django应用程序中如何发送电子邮件详解

发布时间 - 2026-01-10 22:50:51    点击率:

前言

在Django应用程序中发送电子邮件最常见的用例是密码重置、帐户激活和发送与您的应用程序相关的一般通知。下面来看看详细的介绍吧。

配置Django发送电子邮件

要配置您的Django应用程序,添加下面的参数到你settings.py:

# 主机
EMAIL_HOST = "smtp.sina.com"
# 端口
EMAIL_PORT = 25
# 发件人邮箱
EMAIL_HOST_USER = "anshengme@sina.com"
# 密码
EMAIL_HOST_PASSWORD = "ansheng.me"
# 是否使用https
EMAIL_USE_TLS = False
# 发件人
EMAIL_FROM = "安生"

发送邮件

先看看send_mail()方法提供了那些参数:

参数 描述
subject 邮件标题
message 邮件正文
from_email 发送者
recipient_list 收件人列表
fail_silently 布尔值,
auth_user 用于向SMTP服务器进行身份验证的可选用户名,如果未提供此项,Django将使用EMAIL_HOST_USER设置的值
auth_password 用于向SMTP服务器进行身份验证的可选密码,如果未提供此项,Django将使用EMAIL_HOST_PASSWORD设置的值
connection 用于发送邮件的可选电子邮件后端,如果未指定,将使用默认后端的实例
html_message 如果提供了html_message,则生成的电子邮件将是一个多部分/替代电子邮件,其消息为text/plain内容类型,html_message为text/html内容类型。

然后我们进入带django shell环境变量的python解释器,然后发送一个邮件试试?

$ python3 manage.py shell
In [1]: from django.core.mail import send_mail
In [2]: send_mail("这是邮件标题", "这是邮件主体", 'anshengme@sina.com', ['ianshengme@gmail.com'])
# 返回值将是成功传递的消息的数量(可以是0或1,因为它只能发送一个消息)
Out[2]: 1

打开接收邮件的邮箱看看是否已经接收到邮件了?

同时发送多封电子邮件

send_mass_mail()所提供的参数值

属性 描述
datatuple 接收一个一个元组,每个元素都是(subject, message, from_email, recipient_list)这种格式

小栗子

In [1]: message1 = ("这是第一封邮件标题", "这是第一封邮件主体", 'anshengme@sina.com', ['ianshengme@gmail.com'])
In [2]: message2 = ("这是第二封邮件标题", "这是第二封邮件主体", 'anshengme@sina.com', ['ianshengme@gmail.com'])
In [3]: from django.core.mail import send_mass_mail
In [4]: send_mass_mail((message1,message2),fail_silently=False)
Out[4]: 2

返回值将是已成功发送邮件的消息数。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# django  # 发送邮件  # 发送html邮件  # 发送邮件代码  # Django实现发送邮件功能  # django 发送邮件和缓存的实现代码  # Python django实现简单的邮件系统发送邮件功能  # Python中Django发送带图片和附件的邮件  # Django发送html邮件的方法  # Django中使用第三方登录的示例代码  # Django如何使用第三方服务发送电子邮件  # 这是  # 将是  # 可选  # 您的  # 电子邮件  # 应用程序  # 一封  # 此项  # 身份验证  # 返回值  # 都是  # 后端  # 发送电子邮件  # 到你  # 来看看  # 因为它  # 这篇文章  # 谢谢大家  # 所提供 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何在IIS中配置站点IP、端口及主机头?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  青岛网站建设如何选择本地服务器?  ,怎么在广州志愿者网站注册?  Python结构化数据采集_字段抽取解析【教程】  QQ浏览器网页版登录入口 个人中心在线进入  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Swift中循环语句中的转移语句 break 和 continue  如何用AI帮你把自己的生活经历写成一个有趣的故事?  android nfc常用标签读取总结  怎么用AI帮你设计一套个性化的手机App图标?  使用C语言编写圣诞表白程序  轻松掌握MySQL函数中的last_insert_id()  Laravel如何配置任务调度?(Cron Job示例)  Bootstrap CSS布局之列表  bing浏览器学术搜索入口_bing学术文献检索地址  如何破解联通资金短缺导致的基站建设难题?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  开心动漫网站制作软件下载,十分开心动画为何停播?  网站建设要注意的标准 促进网站用户好感度!  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  如何在Windows环境下新建FTP站点并设置权限?  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel API资源类怎么用_Laravel API Resource数据转换  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何用wdcp快速搭建高效网站?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  js实现点击每个li节点,都弹出其文本值及修改  php json中文编码为null的解决办法  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  如何在万网ECS上快速搭建专属网站?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何快速生成高效建站系统源代码?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Laravel中的withCount方法怎么高效统计关联模型数量  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  使用豆包 AI 辅助进行简单网页 HTML 结构设计  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Swift中swift中的switch 语句  Laravel如何实现多对多模型关联?(Eloquent教程)  网站制作价目表怎么做,珍爱网婚介费用多少?  独立制作一个网站多少钱,建立网站需要花多少钱?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  黑客入侵网站服务器的常见手法有哪些?  如何获取PHP WAP自助建站系统源码?  非常酷的网站设计制作软件,酷培ai教育官方网站?