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网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
Feb 04 Python
python自动重试第三方包retrying模块的方法
Apr 24 Python
Python之批量创建文件的实例讲解
May 10 Python
python实现n个数中选出m个数的方法
Nov 13 Python
PyCharm+PySpark远程调试的环境配置的方法
Nov 29 Python
python 将大文件切分为多个小文件的实例
Jan 14 Python
解决pyqt5中QToolButton无法使用的问题
Jun 21 Python
Python使用get_text()方法从大段html中提取文本的实例
Aug 27 Python
python 解决pycharm运行py文件只有unittest选项的问题
Sep 01 Python
python闭包与引用以及需要注意的陷阱
Sep 18 Python
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
Mar 29 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
星际RPG字典
2020/03/04 星际争霸
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
PHP array_reverse() 函数原理及实例解析
2020/07/14 PHP
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
2014/03/04 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
angularjs实现下拉列表的选中事件示例
2017/03/03 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
python实现飞机大战
2018/09/11 Python
Python turtle绘画象棋棋盘
2019/08/21 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
基层干部十八大感言
2014/01/19 职场文书
知识竞赛主持词
2014/03/26 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
质量承诺书格式
2014/05/20 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server
源码安装apache脚本部署过程详解
2022/09/23 Servers