Django之发送邮件
Django的发送邮件是基于django的一个组件进行操作的,EmailMessage
基本使用方法:
def send_html_mail(subject, html_content, from_addr, recipient_list,mytags):
try:
msgdict = {'message-id':get_message_id(domain = DNS_NAME,),'X-Mailgun-Tag':mytags}
msg = EmailMessage(subject, html_content, from_addr, recipient_list,headers = msgdict)
msg.content_subtype = "html"
msg.send()
message_id = msg.message()['Message-ID'].strip('<').strip('>')
logging.info('html mail sent to %s' %recipient_list)
return message_id
except Exception as e:
logging.error('ERROR: send_html_mail exception: %s' %e)
return False
msgdict :就是发送给发送邮件服务器的自己的以一些数据,我们可以记录这些数据,进行对邮件的跟踪
message-id:就是发送邮件的详细ID,根据这个ID我们可以去发送邮件的服务器上面将邮件的信息获取下来
X-Mailgun-Tag:取消订阅的标签,我们可以自定义不同的邮件类型,用户可以取消订阅不同类型的邮件,然后我们带着这个标签,在邮件服务器判断是否给该用户发送该类型的邮件
content_subtype :发送的邮件类型。如hrml问件或者是文本文字邮件
send:开始发送邮件
详细信息:https://docs.djangoproject.com/zh-hans/2.1/topics/email/
Django之发送邮件的更多相关文章
- 初探Django线程发送邮件
最近一直在纠结一个邮件发送的问题. 在本地Linux下搭建程序,不填写EMAIL设置就可以成功发送邮件,在远端的云服务器下的Linux环境就发送不了.在windows下搭建的程序也不能发送注册邮件,很 ...
- django实现发送邮件功能
django实现邮件发送功能 1)首先注册一个邮箱,这里以163邮箱为例 2)注册之后登录,进行如下修改 找到设置,设置一个授权码,授权码的目的仅仅是让你有权限发邮件,但是不能登录到邮箱进行修改,发送 ...
- django中向用户发送邮件信息
发送邮件来让用户激活,因此,邮件中需要包含用户信息.但用户信息需要加密才可以.因此加密采用的是itsdangerous中的TimedJSONWebSignatureSerializer. 参考链接:h ...
- Django实战(一)-----用户登录与注册系统7(邮件确认)
通常而言,我们在用户注册成功,实际登陆之前,会发送一封电子邮件到对方的注册邮箱中,表示欢迎.进一步的还可能要求用户点击邮件中的链接,进行注册确认. 下面就让我们先看看如何在Django中发送邮件吧. ...
- Django后台邮箱配置
Django可以通过发送邮件的方式找回密码,具体细节可以看Django的文档,这里只介绍在settings.py中如何正确进行邮箱的相关配置. 网上很多教程都说了需要在settings.py里添加如下 ...
- Django实战-用户注册和登陆系统
1.环境搭建和创建项目 1.环境搭建 每当我们开始一个新项目的时候,通常都会搭建一个全新.独立.隔离的项目环境,这样做的好处自然不必多说.有很多种建立项目虚拟环境的工具,使用比较普遍的是Python中 ...
- python 之发送邮件服务[原著] 海瑞博客
Python 发送邮件 使用默认的django的发送邮件,只适用于单邮箱. 作者:海瑞博客 http://www.hairuinet.com/ setting中配置 # send e-mail EMA ...
- 使用Django实现发邮件功能
django实现发送邮件功能 django实现邮件发送功能 1)首先注册一个邮箱,这里以163邮箱为例 2)注册之后登录,进行如下修改 找到设置,设置一个授权码,授权码的目的仅仅是让你有权限发邮件 ...
- Django+bootstrap+注册登录系统
转自:https://www.cnblogs.com/robindong/p/9610057.html Robin_D 博客园 首页 新随笔 联系 订阅 管理 随笔 - 10 文章 - 0 评论 ...
随机推荐
- UI设计篇·入门篇·简单动画的实现,透明动画/旋转动画/移动动画/缩放动画,混合动画效果的实现,为动画设置监听事件,自定义动画的方法
基本的动画构成共有四种:透明动画/旋转动画/移动动画/缩放动画. 配置动画的方式有两种,一种是直接使用代码来配置动画效果,另一种是使用xml文档配置动画效果 相比而言,用xml文档写出来的动画效果,写 ...
- python3字典练习(重要)
#keys()返回字典里的所有的键dic = {'k1':'wcj','k2':33,'k3':[11,22,33,]}r = dic.keys()print(r) #结果为ict_keys(['k3 ...
- REATE A STATIC WEBSITE
REATE A STATIC WEBSITE USING JEKYLL Review Great work! Let's review what you accomplished in this un ...
- Ceph 集群整体迁移方案(转)
场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器上的集群整体迁移到新机器上,当然,是保证 ...
- 浅谈Java堆内存分代回收
目录 1.概述 2.堆内存是如何分代的 3.各分代之间是如何配合工作的 1.概述 与C++不同的是, 在Java中我们无需关心对象占用空间的释放, 这主要得益于Java中的垃圾处理器(简称GC)帮助我 ...
- 循环输入到列表的基础方法 -----python-----
print('向列表中添加元素(输入“#”结束)\n并查看添加完的列表') list1=[] while 1: username=input('>>>') if (username. ...
- (九)random、os、time、datetime、hashlib、pymysql、excel、sys、string相关模块
1.random模块 1 import random,string 2 print(string.printable) #代表所有的 数字+字母+特殊字符 3 4 print(random.randi ...
- pyautogui 文档(三):键盘控制
typewrite()函数 主要的键盘功能是typewrite().此函数将键入字符串中传递的字符.要在按下每个字符键之间添加延迟间隔,请为interval关键字参数传递int float . > ...
- 18. 4Sum (JAVA)
Given an array nums of n integers and an integer target, are there elements a, b, c, and d in nums s ...
- jqgrid点击搜索无法重置参数问题
var searchClick=false;//判断是否是第一次点击搜索 //当搜索按钮被单击时触发 function searchData(){ //创建jqGrid组件 console.log(' ...