Django如何使用第三方服务发送电子邮件


Posted in Python onAugust 14, 2019

在 Django 网站中使用 mailgun 的邮件收发服务。

1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收发邮件的服务,对我来说已经完全够用了),注册完成后界面如图所示:

Django如何使用第三方服务发送电子邮件

然后我们点击 Domain选项,可以看到系统自动为我们生成了一个默认可用域名,点进去查看详细信息。

Django如何使用第三方服务发送电子邮件

注意这个域名只是作为测试用,如果需要用来收发电子邮件,你需要添加新域名或者在该测试域名设置下 Authorized Recipients -> Manage Authorized Recipients 添加收发信任邮箱。

2.安装 anymail 模块,该模块支持多个第三方邮件收发服务与 Django 建立连接。

pip install django-anymail

该模块的详细用法,参考:https://github.com/anymail/django-anymail

3.然后我们在 Django 项目中的 setting.py 文件中添加

INSTALLED_APPS = [
  # ...
  "anymail",
  # ...
]
ANYMAIL = {
  "MAILGUN_API_KEY": "your Mailgun key",
  "MAILGUN_SENDER_DOMAIN": 'mg.example.com', # your Mailgun domain, if needed
}
EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" # or sendgrid.EmailBackend, or...
DEFAULT_FROM_EMAIL = "you@example.com" # if you don't already have this in settings

MAILGUN_API_KEY 和 MAILGUN_SENDER_DOMAID 这两个参数,可以从邮件域名设置中找到:

Django如何使用第三方服务发送电子邮件

view.py 文件中添加:

from django.core.mail import send_mail
#只需一个send_mail 函数,便能发送邮件
send_mail("It works!", "This will get sent through Mailgun",
     "Anymail Sender <from@example.com>", [to@example.com])

(官网的例子哈,跟我项目有差入就不修改了)

4.运行 Django 项目,填入反馈意见,便在我们设置的邮箱中收到发送的邮件。

Django如何使用第三方服务发送电子邮件

Django如何使用第三方服务发送电子邮件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
从零学python系列之数据处理编程实例(一)
May 22 Python
python实现跨文件全局变量的方法
Jul 07 Python
python内存管理分析
Apr 08 Python
python实现京东秒杀功能
Jul 30 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
Python3使用TCP编写一个简易的文件下载器功能
May 08 Python
如何分离django中的媒体、静态文件和网页
Nov 12 Python
python-视频分帧&amp;多帧合成视频实例
Dec 10 Python
vue常用指令代码实例总结
Mar 16 Python
keras 实现轻量级网络ShuffleNet教程
Jun 19 Python
Python并发爬虫常用实现方法解析
Nov 19 Python
Python中threading库实现线程锁与释放锁
May 17 Python
Python3 chardet模块查看编码格式的例子
Aug 14 #Python
Python 从subprocess运行的子进程中实时获取输出的例子
Aug 14 #Python
python3调用windows dos命令的例子
Aug 14 #Python
python脚本执行CMD命令并返回结果的例子
Aug 14 #Python
用Python调用win命令行提高工作效率的实例
Aug 14 #Python
python基础教程之while循环
Aug 14 #Python
Python 实例方法、类方法、静态方法的区别与作用
Aug 14 #Python
You might like
php遍历数组的方法分享
2012/03/22 PHP
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
php5对象复制、clone、浅复制与深复制实例详解
2019/08/14 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
2016/07/28 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
python 利用for循环 保存多个图像或者文件的实例
2018/11/09 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
JSF如何进行表格处理及取值
2012/08/06 面试题
运动会入场词50字
2014/02/20 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
考试作弊检讨书
2014/10/21 职场文书
单身申明具结书
2015/02/26 职场文书
未中标通知书
2015/04/17 职场文书
小学生运动会广播
2015/08/19 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书