用python标准库smtplib来发QQ邮件及Django中发送邮件
1.QQ邮箱设置
点击QQ邮箱账号,进入后,开启smtp服务许可:

点击“生产授权码”,在手机上发送相应的短信,得到授权码。【注意授权码之间没有空格】
2.典型代码块
import smtplib
from email.mime.text import MIMEText
from email.header import Header
msg_from='xxxxxxx@qq.com' #发送邮件的邮箱号码
password='xxxxxxx' #授权码,不是邮箱登录密码
msg_to=['xxx@qq.com','xxx@qq.com','xxx@qq.com'] #收件邮箱List
message=MIMEText('python邮件发送测试...','plain','utf-8')
message['From']=Header('来自JohnYang','utf-8')
message['To']=Header('测试','utf-8')
message['Subject']=Header('Python SMTP邮件测试','utf-8')
client=smtplib.SMTP_SSL('smtp.qq.com',smtplib.SMTP_SSL_PORT)
client.login(msg_from,password)
client.sendmail(msg_from,msg_to,message.as_string()) #发送

3.Django中发送邮件
Django对smptlib进行了包装,使得发送邮件更为简便。
首先在settings.py中添加如下设置:
EMAIL_HOST='smtp.qq.com'
EMAIL_PORT=25
EMAIL_HOST_USER='from@example.com'
EMAIL_HOST_PASSWORD='ixxxxxx'
EMAIL_USE_TLS=True
Django中有关邮件的在django.core.mail模块中。
(1)send_mail
from django.core.mail import send_mail send_mail(
'Subject here',
'Here is the message.',
'from@example.com',
['to@example.com'],
fail_silently=False,
)
(2)send_mass_mail
datatuple = (
('Subject', 'Message.', 'from@example.com', ['john@example.com']),
('Subject', 'Message.', 'from@example.com', ['jane@example.com']),
)
send_mass_mail(datatuple)
(3)EmailMessage类
from django.core.mail import EmailMessage email = EmailMessage(
'Hello',
'Body goes here',
'from@example.com',
['to1@example.com', 'to2@example.com'],
['bcc@example.com'],
reply_to=['another@example.com'],
headers={'Message-ID': 'foo'},
)
message.attach_file('/images/weather_map.png')
message.send()
用python标准库smtplib来发QQ邮件及Django中发送邮件的更多相关文章
- python第六天 函数 python标准库实例大全
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...
- Python标准库与第三方库详解(转载)
转载地址: http://www.codeweblog.com/python%e6%a0%87%e5%87%86%e5%ba%93%e4%b8%8e%e7%ac%ac%e4%b8%89%e6%96%b ...
- Python标准库:内置函数hasattr(object, name)
Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False ...
- Python标准库概览
Python标准库通常被称为"自带的电池",自然地提供了广泛的功能,涵盖了大概200个左右的包与模块.不断有高质量的包或模块被开发出来,极大的丰富了标准库.但有些模块放在标准库中很 ...
- Python 标准库一览(Python进阶学习)
转自:http://blog.csdn.net/jurbo/article/details/52334345 写这个的起因是,还是因为在做Python challenge的时候,有的时候想解决问题,连 ...
- (转)python标准库中socket模块详解
python标准库中socket模块详解 socket模块简介 原文:http://www.lybbn.cn/data/datas.php?yw=71 网络上的两个程序通过一个双向的通信连接实现数据的 ...
- Python标准库 (pickle包,cPickle包)
在之前对Python对象的介绍中 (面向对象的基本概念,面向对象的进一步拓展),我提到过Python“一切皆对象”的哲学,在Python中,无论是变量还是函数,都是一个对象.当Python运行时,对象 ...
- python 标准库大全
python 标准库 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 string ...
- Python - 标准库概况 - 第二十一天
Python 标准库概览 操作系统接口 os模块提供了不少与操作系统相关联的函数. 建议使用 "import os" 风格而非 "from os import *&quo ...
- Python标准库-datatime和time
Python标准库-datatime和time 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.标准库datatime 1>.datatime模块 #!/usr/bin/e ...
随机推荐
- SpringBoot - [07] Web入门
题记部分 一.Web 入门 SpringBoot将传统Web开发的mvc.json.tomcat等框架整合,提供了spring-boot-starter-web组件,简化了Web应用配置.创建Sp ...
- 什么是git,什么是github,git和github的使用
Git实战 注意:本项目是学习笔记,来自于哔哩哔哩武沛齐老师的Git实战视频, 网址:[武沛齐老师讲git,看完绝对上瘾!!!] https://www.bilibili.com/video/BV1n ...
- Python基础-模块、Python操作excel
今日概要 模块 自定义模块 内置模块 第三方模块 [!Caution] 这个地方讲的会比较多,而且有的东西网上搜不到!!! 自动化办公相关模块 -- Excel和Word 面向对象 1. 面向对象中的 ...
- php查询结果汉字乱码解决方法
问题描述:使用php查询数据显示,显示的结果中所有汉字乱码 问题及解决:这种情况是编码造成的,检查数据库及页面编码是否一致,也可在页面增加: header('Content-Type:text/htm ...
- abaqus建模时突发意外,软件闪退怎么才能找回操作?
abaqus/CAE 建模的时候可能经常由于各种各样的原因闪退(中断.卡住.未响应等等.) 这是很让人崩溃的时候,一个良好的习惯就是经常Ctrl+S,并且操作的时候不要太急,否则abaqus容易反应不 ...
- arco-design-pro-vite项目配置参考
参考地址 配置源码地址:https://github.com/arco-design/arco-design-pro-vue/blob/main/arco-design-pro-vite/ 按钮组件 ...
- 查看oracle数据库编码格式;ORACLE数据库NLS_CHARACTERSET和NLS_NCHAR_CHARACTERSET区别
查看Oracle数据库字符编码格式得方法,有以下两种,第二种方法有注释,第一种没有Select * from nls_database_parameter;Select * from sys.prop ...
- windows 本地部署DeepSeek
一:前言: 那么为什么要本地部署,主要就是企业或者个人为了数据安全和防止受限网络等其 数据安全:数据不用上传到外面,在本地处理,不用担心数据泄露,像金融.医疗这些对数据安全要求高的行业特别需要. 功能 ...
- Object类--equals方法--java进阶day05
1.equals方法 2.equals方法的逻辑 如图,我们发现调用equals方法将两个属性一样的变量进行比较时,返回的还是false 为了了解清楚equals方法的逻辑,我们ctrl 鼠标右键点击 ...
- 【ESP32】移植 Arduino 库到 idf 项目中
今天咱们要聊的内容非常简单,所以先扯点别的.上一篇水文中,老周没能将 TinyUSB 的源码编译进 Arduino 中,心有两百万个不甘,于是清明节的时候再试了一次,居然成功了,已经在 esp32 开 ...