###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. org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could

    org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exc ...

  2. php-fpm,cgi,fast-cgi,nginx,php.ini,php-fpm.conf,nginx.conf

    php-fpm.conf 是PHP-FPM特有的配置文件. php.ini 是所以php模式中必须的配置文件. 两者的区别是,php-fpm.conf 是PHP-FPM进程管理器的配置文件,php.i ...

  3. PAT(B) 1010 一元多项式求导(Java)

    题目链接:1010 一元多项式求导 代码 /** * Score 25 * Run Time 94ms * @author wowpH * @version 1.1 */ import java.ut ...

  4. java运算符那些事

    && 逻辑与 &&先运算&&左边的算式,如果为假,则直接停止,后面不管有多少运算式都不再运算,如果为真则继续判断后面的式子,只有所有的条件全部成立,才会 ...

  5. 使用paypal-php-sdk开发php国际支付

    参考:https://github.com/paypal/PayPal-PHP-SDK/wiki https://blog.csdn.net/markely/article/details/79044 ...

  6. c# winfrom 子窗体分屏显示

    参考博客:https://blog.csdn.net/kailan818/article/details/8517126 实现代码: private void button1_Click(object ...

  7. HTTP method GET is not supported by this URL

    Servlet eroor:HTTP method GET is not supported by this URL 错误提示: type: Status report message: HTTP m ...

  8. MySql翻页查询

    分页查询在网页中随处可见,那原理是什么呢?下面简单介绍一下基于MySql数据库的limit实现方法. 首先明确为什么要使用分页查询,因为数据庞大,查询不可能全部显示在页面上,如果全部显示在页面上,也会 ...

  9. 案例-使用MapReduce实现join操作

    哈喽-各位小伙伴们中秋快乐,好久没更新新的文章啦,今天分享如何使用mapreduce进行join操作. 在离线计算中,我们常常不只是会对单一一个文件进行操作,进行需要进行两个或多个文件关联出更多数据, ...

  10. reduce方法的使用

    reduce(收敛):接收一个回调函数作为累加器,数组中的每个值(从左到右)开始缩减,最终为一个值,是ES5中新增的又一个数组逐项处理方法. reduce(callback,initialValue) ...