Python之qq邮件
用python发送电子邮件验证这个功能,可以说花费了我很久时间,这也是为什么我重头敲了之前的两遍代码。不要说我傻,仅仅是笨了一点而已 ^.- 。
之前我所参考是如何发送 GMail. 但是我并不想这么干,谁叫天朝居然把goole都给墙了.....$.$,虽然我有VPN,但是,我还是好好忍住了。
我用的是flask-email:
其中对邮箱的一些配置信息:
MAIL_SERVER = "smtp.qq.com"
MAIL_PORT = 25
# MAIL_USE_TLS = True
# MAIL_USE_SSL = True
MAIL_USERNAME = '1164258202@qq.com'
MAIL_PASSWORD = 'password'
看到配置中你会发现我有两个地方注释了:
Q:那么这个TLS和SSL是干什么的?
A:其实小C也不知道啦,主要用于web的安全传输协议,基本原理:先非对称加密传递对称加密所要用的钥匙,然后双方用该钥匙对称加密和解密往来的数据。百度到这个,还有这个,你就会know more了。
反正当我开启SSL的时候,我的邮件就发送失败:
SSLError: [Errno 1] _ssl.c:507: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
说不知道这个协议。好把,那我只能把你给关了。但支持TLS协议,你可以开启它
MAIL_PASSWORD = 'password' // 对于这个我当时也是不解。为什么密码不是qq邮箱的密码,而是这个:

就是上面这个二货了。 but,你要设置这个密码,前提你要在邮箱中开启这个POP3/SMTP服务

然后就是发送你的邮件操作了。
from threading import Thread
from flask import current_app, render_template
from flask.ext.mail import Message
from . import mail
def send_async_email(app, msg):
with app.app_context():
mail.send(msg) def send_email(to, subject, template, **kwargs):
app = current_app._get_current_object()
msg = Message(app.config['FLASKY_MAIL_SUBJECT_PREFIX'] + ' ' + subject,
sender=app.config['FLASKY_MAIL_SENDER'], recipients=[to])
msg.body = render_template(template + '.txt', **kwargs)
msg.html = render_template(template + '.html', **kwargs)
thr = Thread(target=send_async_email, args=[app, msg])
thr.start()
return thr
最后就是发邮件操作了:
send_email(current_user.email,'Confirm Your Account', 'auth/email/confirm',user= current_user,token = token)
当然还有些细节我就不在这里说了,我卡住的地方就是邮件的相关配置问题,毕竟我是小C(python 业余爱好者),哈哈。
Python之qq邮件的更多相关文章
- python发QQ邮件
python发qq邮件相对比较简单,网上教程一大把:固定套路,后面封装看自己怎么方便可以怎样进行封装:原版代码如下: """ # -*- coding : utf-8 - ...
- python 发送QQ邮件的小例子
首先QQ邮件用第三方客户端发送要申请验证码.而不是QQ的密码. 授权码就是你接下来登录要使用的密码 那么剩下的工作就很简单了.附简单代码如下: #coding:utf-8 import smtplib ...
- 使用python发送QQ邮件
这里用到了Python的两个包来发送邮件: smtplib 和 email . Python 的 email 模块里包含了许多实用的邮件格式设置函数,可以用来创建邮件“包裹”.使用的 MIMEText ...
- 九、Python发送QQ邮件(SMTP)
看了廖雪峰老师的教程: 一封电子邮件的旅程就是 发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA <- 收件人 ...
- Python发送QQ邮件
#!/usr/bin/python # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText fro ...
- python 发qq邮件
import smtplibfrom email.mime.text import MIMETextmsg_from = '979477675@qq.com' # 发送方邮箱passwd = 'irg ...
- python派QQ邮件
#encoding=utf-8 __author__ = 'ds' #文件名冲突 from email.mime.text import MIMEText import smtplib if __na ...
- 用python发送qq邮件
一.需要开启smtp服务,获取授权密码. 在qq邮箱的设置里开启smtp 二.代码 # -*- coding:utf-8 -*- import smtplib from email.mime.text ...
- python定时利用QQ邮件发送天气预报
大致介绍 好久没有写博客了,正好今天有时间把前几天写的利用python定时发送QQ邮件记录一下 1.首先利用request库去请求数据,天气预报使用的是和风天气的API(www.heweather.c ...
随机推荐
- Spring - 运行时获取bean(ApplicationContextAware接口)
默认情况下,我们的bean都是单例模式(即从容器初始化到销毁只保持一个实例).当一个bean需要引用另外一个bean,我们往往会通过bean属性的方式通过依赖注入来引用另外一个bean.那么问题就来了 ...
- 支持语音识别、自然语言理解的微信小程序(“遥知之”智能小秘)完整源码分享
记录自己搭建https的silk录音文件语音识别服务的调用过程,所有代码可在文中找链接打包下载 >>>>>>>>>>>>> ...
- ResourceManager的HA
大家都知道在hadoop2中对HDFS的改进很大,实现了NameNode的HA:也增加了ResourceManager.但是ResourceManager也可以实现HA.你没看错,确实是Resourc ...
- 多年iOS开发经验总结
总结了几个月的东西终于能和大家分享了,不多说,直接看东西! 1.禁止手机睡眠 1 [UIApplication sharedApplication].idleTimerDisabled = YES; ...
- Codevs1380没有上司的舞会_KEY
没有上司的舞会 1380 没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description Ural大学有N个职员,编号为1~N.他们有从属关系,也就是说他们的关系 ...
- CentOS7安装后配置MariaDB
安装后,优先推荐先对安全设置进行配置,键入命令 sudo mysql_secure_installation 键入当前密码,当前没有,直接回车,之后跟随提示会问几个问题:设置 root 密码? / 移 ...
- Jenkins定时任务
Jenkins配置定时任务 选中Job名称--配置—构建触发器—勾选“Build periodically” 如图中配置所示:该任务每天上午7点定时执行一次. 官方说明翻译 MINUTE HOUR D ...
- zoj 1884 简单 键盘 字符 处理
WERTYU Time Limit: 2 Seconds Memory Limit: 65536 KB A common typing error is to place the hands ...
- zoj 1108 FatMouse's Speed 基础dp
FatMouse's Speed Time Limit: 2 Seconds Memory Limit:65536 KB Special Judge FatMouse believe ...
- Java面向对象 String 基本数据类型对象包装类
Java面向对象 String 知识概要: (1)String的用法详解 (2)基本数据类型对象包装类 String 顾名思义,该类主要是对字符串 ...