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

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

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

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

注意这个域名只是作为测试用,如果需要用来收发电子邮件,你需要添加新域名或者在该测试域名设置下 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 这两个参数,可以从邮件域名设置中找到:

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 项目,填入反馈意见,便在我们设置的邮箱中收到发送的邮件。

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

(0)

相关推荐

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

    前言 在Django应用程序中发送电子邮件最常见的用例是密码重置.帐户激活和发送与您的应用程序相关的一般通知.下面来看看详细的介绍吧. 配置Django发送电子邮件 要配置您的Django应用程序,添加下面的参数到你settings.py: # 主机 EMAIL_HOST = "smtp.sina.com" # 端口 EMAIL_PORT = 25 # 发件人邮箱 EMAIL_HOST_USER = "anshengme@sina.com" # 密码 EMAIL_H

  • Python中Django发送带图片和附件的邮件

    最近需要做集团的SRC系统.暂无安全研发,所以只能找我这个小菜兼职开发.系统使用Django框架,在整个过程中,有许多奇特的需求.在某项需求中,需要给厂商用户发送富文本邮件,漏洞详情,这个折腾了一下,感觉略有收获,所以记一篇随笔. 首先我在网上搜索了一些资料,发现都是python通过smtplib发送,使用MIME格式来生成富文本邮件:传送门 我想的是,使用Django框架,框架带了邮件模块,没必要引入smtplib吧.我就想,向上文传送门那样,生成一个MIME文件,然后通过 from djan

  • Django发送html邮件的方法

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

  • Django中使用第三方登录的示例代码

    OAuth2.0是什么 OAuth的英文全称是Open Authorization,它是一种开放授权协议.OAuth目前共有2个版本,2007年12月的1.0版(之后有一个修正版1.0a)和2010年4月的2.0版,1.0版本存在严重安全漏洞,而2.0版解决了该问题. OAuth简单说就是一种授权的协议,只要授权方和被授权方遵守这个协议去写代码提供服务,那双方就是实现了OAuth模式. OAuth2.0实现第三方登录的流程 例如你想登录豆瓣去看看电影评论,但你丫的从来没注册过豆瓣账号,又不想新注

  • Django实现发送邮件功能

    1)首先注册一个邮箱,这里以163邮箱为例 2)注册之后登录,进行如下修改 找到设置,设置一个授权码,授权码的目的仅仅是让你有权限发邮件,但是不能登录到邮箱进行修改,发送邮件时,可以代替密码 3)然后在项目里的配置文件settings.py中进行一些配置: EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = False #是否使用TLS安全传输协议(用于在两个通信应用程序之间提供保密性和数据完

  • Python django实现简单的邮件系统发送邮件功能

    本文实例讲述了Python django实现简单的邮件系统发送邮件功能.分享给大家供大家参考,具体如下: django邮件系统 Django发送邮件官方中文文档 总结如下: 1.首先这份文档看三两遍是不行的,很多东西再看一遍就通顺了. 2.send_mail().send_mass_mail()都是对EmailMessage类使用方式的一个轻度封装,所以要关注底层的EmailMessage. 3.异常处理防止邮件头注入. 4.一定要弄懂Email backends 邮件发送后端 5.多线程的邮件

  • django 发送邮件和缓存的实现代码

    发送邮件 概述:Django中内置了邮件发送功能,发送邮件需要使用SMTP服务,常用的免费服务器有:163.126.QQ 注册并登陆163邮箱 打开POP3/SMTP服务与IMAP/SMTP服务 重置授权密码 配置 #邮件发送 EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST='smtp.163.com' EMAIL_PORT=25 #发送邮件的邮箱 EMAIL_HOST_USER='clement@16

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

    在 Django 网站中使用 mailgun 的邮件收发服务. 1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收发邮件的服务,对我来说已经完全够用了),注册完成后界面如图所示: 然后我们点击 Domain选项,可以看到系统自动为我们生成了一个默认可用域名,点进去查看详细信息. 注意这个域名只是作为测试用,如果需要用来收发电子邮件,你需要添加新域名或者在该测试域名设置下 Authorized Recipients -> Manage Authorized Recipi

  • 使用Python第三方库发送电子邮件的示例代码

    目录 1. 安装 yagmail 第三方库 2. 开启 POP3.IMAP 和 SMTP 服务 2.1 POP3.IMAP 和 SMTP 简介 2.2 开启 POP3.IMAP.和 SMTP 协议 3. 发送邮件 3.1 发送第一封电子邮件 3.2 群发邮件 3.3 给邮件添加附件 3.4 设置定时器 4. 总结 Python 作为当前最热门的编程语言之一,不仅仅是因为它的学习成本低.入门容易,还因为它具有丰富的生态环境,包括内置的模块以及第三方的库,使用它能够做很多事情.例如,办公自动化也是

  • 微信小程序的数据存储与Django等服务发送请求 讲解

    目录 官方文档 快速归纳 存取改删 1.wx存储数据到本地以及本地获取数 1.1 wx.setStorageSync(string key, any data) 存(同步) 1.2 wx.setStorage(Object object)存(异步) 1.3 wx.getStorageSync(string key)取(同步) 1.4 wx.getStorage(Object object)取(异步) 小程序如何向我们django等服务请求接口(wx.request) 官方文档 wx.setSto

  • 在Ruby中利用Net::SMTP类发送电子邮件的教程

    简单邮件传输协议(SMTP)发送电子邮件及路由的e-mail邮件服务器之间的协议处理. Ruby 提供 Net::SMTP 类的简单邮件传输协议(SMTP)客户端的连接,并提供了两个新的方法:new 和 start. new 带两个参数: server name 默认为 localhost port number  默认为熟知的 25 start 方法带有以下这些参数: server - IP SMTP服务器名称,默认为localhost port - 端口号,默认为25 domain - 邮件

  • golang实现通过smtp发送电子邮件的方法

    本文实例讲述了golang实现通过smtp发送电子邮件的方法.分享给大家供大家参考,具体如下: 今天写了一个公司的邮件发送后台服务,php只需要把邮件存入数据库,然后golang写的mailservice就会吧邮件发送出去.这个公司的代码就不发出来的,以为带有公司的业务逻辑,我把代码整理了一下发布出来供大家参考.呵呵 复制代码 代码如下: package main import (     "fmt"     "net/mail"     "net/smt

  • 用Socket发送电子邮件

    用Socket发送电子邮件 在作者所申请的几个PHP 主页空间中,能够提供mail功能的实在不多,总是调用完mail()函数之后就毫 无下文了.但是电子邮件在网上生活中的作用越来越大.想一想网虫上网不收邮件能叫真正的网虫吗?邮件 的作用我不想再说了,但是如果主页空间不支持mail()发送那么怎么办呢?我也想过通过socket来实现邮件 发送,但无奈对用php 进行socket编程不熟悉,再加上发送邮件要用到SMTP协议,又要读不少的英文了,所 以一直也没有去研究过.终于有一天我发现了一篇文章,关

  • 通过第三方接口发送短信验证码/短信通知(推荐)

    需求:将首次交付密码为公共默认密码的方式改为点击入职功能,用短信方式发送系统自动生成的八位含数字.大小写字母和特殊符号生成的密码.短信发送服务由云通信http://www.yuntongxun.com/提供. 随机密码生成方法: /** * 生成随即密码 * @author chao.gao * @param pwd_len 生成的密码的总长度 * @return 密码的字符串 */ public static String genRandomNum(int pwd_len) { // Stri

  • Python SMTP发送电子邮件的示例

    简单邮件传输协议(SMTP)是一种协议,用于处理在电子邮件服务器之间发送电子邮件和路由电子邮件.Python提供了smtplib模块,该模块定义了一个SMTP客户端会话对象,该对象可用于将邮件发送到具有SMTP或ESMTP侦听器守护程序的任何Internet计算机. SMTP对象具有一个称为sendmail的实例方法,该方法通常用于完成邮件的发送工作.它需要三个参数- sender- 具有发件人地址的字符串. receivers- 字符串列表,每个接收者一个. message- 以各种RFC中指

  • 如何用Spring发送电子邮件

    简介 Spring基于javax.mail封装了一套用于发送电子邮件的API,位于org.springframework.mail包下,下面将介绍下发送普通文本邮件和基于thymeleaf模版的邮件. 普通邮件 导入javax.mail依赖 <!-- ...... --> <!-- 省略Spring依赖 --> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax

随机推荐