###Django内置email发送邮件
####1、首先在settings.py文件设置相关参数
```python
STATIC_URL = '/static/'
# 设置邮件域名
EMAIL_HOST = 'smtp.163.com'
# 设置端口号,为数字
EMAIL_PORT = 25
#设置发件人邮箱
EMAIL_HOST_USER = 'xxxxx@163.com'
# 设置发件人 授权码
EMAIL_HOST_PASSWORD = '自己的授权码'
# 设置是否启用安全链接
EMAIL_USER_TLS = True # 以上这个配置信息,Django会自动读取,
# 使用账号以及授权码进行登录,
# 如果登录成功,可以发送邮件
```
####2、回到views.py 文件,加入以下代码
```python
# 引入发送邮件的模块
from django.core.mail import send_mail, send_mass_mail, EmailMultiAlternatives
from django.conf import settings send_mail('关于中秋节放假通知',
'中秋节放三天假',
'qiqi1931@163.com',
['qiqi1931@163.com']
fail_silently = False)
# 值1:邮件标题 值2:邮件主人 值3:发件人 值4:收件人 值5:如果失败,是否抛出错误
if res == 1:
return HttpResponse('邮件发送成功')
else:
return HttpResponse('邮件发送失败')
```
####3、多封给多个人进行发送
```python
message1 = ('这个周日你有空吗',
'孔子东游见两小儿便日',
'qiqi1931@163.com',
['891811395@qq.com', '819614513@qq.com']) message2 = ('这个周 日你有空吗?',
'孔子东游,见两小儿,便日',
'qiqi1931@163.com',
['891811395@qq.com', '1311173658@qq.com'])
res = send_mass_email((message1, message2))
if res == 2:
return HttpResponse('多封邮件发送成功')
else:
return HttpResponse('多封邮件发送失败')
```
####4、进阶使用,多线程异步发送
* utils添加sendEmail.py文件 ```python
import threading
from django.core.mail import send_mail
from django.conf import settings class SendMail(threading.Thread):
def __init__(self,subject,text,email,fail_silently=False):
self.subject = subject
self.text = text
self.email = email
self.fail_silently = fail_silently
threading.Thread.__init__(self) def run(self):
send_mail(
self.subject,
self.text,
settings.EMAIL_HOST_USER,
[self.email],
fail_silently=self.fail_silently
)
``` * 调用方法 ```python
send_mail = SendMail(subject,text,email)
send_mail.start()
```

Django内置email发送邮件的更多相关文章

  1. 「Django」Django内置email发送邮件

    Django内置email发送邮件 1.首先在settings.py文件设置相关参数 STATIC_URL = '/static/' # 设置邮件域名 EMAIL_HOST = 'smtp.163.c ...

  2. Django(60)Django内置User模型源码分析及自定义User

    前言 Django为我们提供了内置的User模型,不需要我们再额外定义用户模型,建立用户体系了.它的完整的路径是在django.contrib.auth.models.User. User模型源码分析 ...

  3. Django内置Admin

    Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.contrib.contenttyp ...

  4. 框架----Django内置Admin

    Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.contrib.contenttyp ...

  5. Django内置Admin解析

    Django 内置的admin是对于model中对应的数据表进行增删改查提供的组建 一.Django admin的内部依赖: 依赖的app django.contrib.auth django.con ...

  6. Django内置分页

    一.django内置分页 from django.shortcuts import render from django.core.paginator import Paginator, EmptyP ...

  7. Django 内置分页器

    先导入Django内置的分页器 在商品列表页或者购物车列表页导入 在渲染list.html导入 然后在views后台渲染方法写入 打开list页面结果

  8. Django内置权限扩展案例

    当Django的内置权限无法满足需求的时候就自己扩展吧~ 背景介绍 overmind项目使用了Django内置的权限系统,Django内置权限系统基于model层做控制,新的model创建后会默认新建 ...

  9. Django内置模版过滤器

    Django内置过滤器总览 可以查询下表来总览Django的内置过滤器: 过滤器 说明 add 加法 addslashes 添加斜杠 capfirst 首字母大写 center 文本居中 cut 切除 ...

随机推荐

  1. [学习笔记] Blender layout 视图切换

    layout 数字键5  --- 正交视图/透视图 切换 数字键0 -- 摄像机视图 数字键7 -- 顶视图 数字键1 --- 前视图 数字键3 --- 右视图 ctrl +数字键3 --- 左视图 ...

  2. Java Script 学习日志 Div

    2019年7月7日 学习网站: http://www.w3school.com.cn/js/js_examples.asp 1.输出 1. 1首先就是输出看 <script> docume ...

  3. Spring boot+Websocket实例1

    简单的demo https://github.com/callicoder/spring-boot-websocket-chat-demo

  4. C++程序设计学习-第2章

    第二章 变量与基本类型 1.基本内置类型 C++定义了一套包括算术类型和空类型在内的基本数据类型 算术类型:整型和浮点型,包括带符号类型(signed)和无符号类型(unsigned),带符号类型可以 ...

  5. Dining(POJ-3281)【最大流】

    题目链接:https://vjudge.net/problem/POJ-3281 题意:厨师做了F种菜各一份,D种饮料各一份,另有N头奶牛,每只奶牛只吃特定的菜和饮料,问该厨师最多能满足多少头奶牛? ...

  6. ubuntu 快捷方式添加 applications添加

    首先我们要了解,Ubuntu 的 Dash 里所有程序都是在 /usr/share/applications 中的,所以我们的思路很简单——建一个类似于“快捷方式”一样的东西扔进去就好了.所以第一步自 ...

  7. 【win10】 ffmpeg的安装

    安装肯定要先下载,官方下载地址:http://www.ffmpeg.org/download.html 然后会进入这个页面. 然后根据你的操作系统选择 根据自己系统选择,我的系统是64位的所以下载的是 ...

  8. BZOJ3879 SvT(后缀树+虚树)

    对反串建SAM得到后缀树,两后缀的lcp就是其在后缀树上lca的len值,于是每次询问对后缀树建出虚树并统计答案即可. #include<iostream> #include<cst ...

  9. 一个炒鸡好用的pdf阅读器

    下载地址:https://www.sumatrapdfreader.org/free-pdf-reader.html 一个关系很好的同事推荐的pdf阅读器  之前用的感觉不错  每次都记不住  自己收 ...

  10. (一)第一个python语句、乘除法、获取用户输入、函数

    一.print语句 >>> print "hello World!!" python2 和python3 的print是不一样的,python3的print(“h ...