python使用qq服务器发送邮件
python使用qq服务器发送邮件
直接上代码:
- #!/usr/bin/python2.7
- #-*- coding: UTF-8 -*-
- # sendmail.py
- #
- # init created: 2016-04-21
- # last updated: 2016-04-21
- ########################################################################
- import smtplib
- from email.mime.text import MIMEText
- import traceback
- class SmtpSendMail:
- def __init__(self, config):
- try:
- # 设置发件服务器地址, 如: "smtp.qq.com"
- self.host = config["host"]
- # 设置发件服务器端口号. 有SSL(465)和非SSL(25)两种形式
- self.port = config["port"]
- # 设置发件邮箱, 一定要自己注册的邮箱, 如: "cheungmine@qq.com"
- self.sender = config["sender"]
- # 设置发件邮箱的密码, 登陆会用到
- self.password = config["password"]
- # 设置超时秒
- self.timeout = config["timeout"]
- # SSL
- if not config.get("SSL"):
- self.SSL = False
- else:
- self.SSL = True
- # session
- if self.SSL:
- session = smtplib.SMTP_SSL(self.host, self.port, self.timeout)
- else:
- session = smtplib.SMTP(self.host, self.port, self.timeout)
- # 登陆邮箱
- session.login(self.sender, self.password)
- self.session = session
- except Exception, e:
- traceback.print_exc()
- pass
- def sendmail(self, mailto):
- result = False
- try:
- # 设置正文为符合邮件格式的HTML内容
- msg = MIMEText(mailto["body"], 'html')
- # 设置邮件标题
- msg['subject'] = mailto["title"]
- # 设置发送人
- msg['from'] = self.sender
- # 设置邮件接收人
- msg['to'] = mailto["receiver"]
- # 发送邮件
- self.session.sendmail(self.sender, mailto["receiver"], msg.as_string())
- result = True
- except Exception, e:
- traceback.print_exc()
- finally:
- return result
- pass
- # test
- mailfrom = {
- "host": "smtp.qq.com",
- "port": 465,
- "sender": "cheungmine@qq.com",
- "password": "xxxxx",
- "timeout": 30,
- "SSL": True
- }
- mailto = {
- "receiver": "350137278@qq.com",
- "title": "This is a test mail",
- "body": "<h1>Hi</h1><p>test mail from cheungmine</p>"
- }
- smtp = SmtpSendMail(mailfrom)
- print smtp.sendmail(mailto)
python使用qq服务器发送邮件的更多相关文章
- Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
最新在学习Python的基础入门系列课程,今天学习到使用python 的内置库smtplib发送邮件内容. 使用Python发送邮件步骤简单: 创建SMTP连接 使用邮箱和密码登录SMTP服务器 创建 ...
- python使用smtplib库和smtp.qq.com邮件服务器发送邮件(转)
使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们 ...
- python使用smtplib库和smtp.qq.com邮件服务器发送邮件
使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们 ...
- python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件
python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件 使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPA ...
- 阿里云服务器发送邮件:Connection could not be established with host smtp.qq.com [Connection timed out #110]
阿里云服务器发送邮件:Connection could not be established with host smtp.qq.com [Connection timed out #110] 一.总 ...
- python qq邮箱发送邮件
使用qq发送邮件 # coding=utf8 """ qq邮箱发送邮件 """ import sys reload(sys) sys.set ...
- 杂项之使用qq邮箱发送邮件
杂项之使用qq邮箱发送邮件 本节内容 特殊设置 测试代码 1. 特殊设置 之前QQ邮箱直接可以通过smtp协议发送邮件,不需要进行一些特殊的设置,但是最近使用QQ邮箱测试的时候发现以前使用的办法无法奏 ...
- Python中使用SMTP发送邮件以及POP收取邮件
假设我们自己的电子邮件地址是from@163.com,对方的电子邮件地址是to@sina.com(这里的地址虚拟的),现在我们用Outlook或者Foxmail之类的软件写好邮件,填上对方的Email ...
- ASP.NET用QQ,网易发送邮件以及添加附件
教程:ASP.NET用QQ,网易发送邮件以及添加附件 这是我用QQ邮箱出现的异常: 命令顺序不正确. 服务器响应为:Error: need EHLO and AUTH first !无法从传输连接中读 ...
随机推荐
- SPOJ DQUERY树状数组离线or主席树
D-query Time Limit: 227MS Memory Limit: 1572864KB 64bit IO Format: %lld & %llu Submit Status ...
- [bzoj4813][Cqoi2017]小Q的棋盘
来自FallDream的博客,未经允许,请勿转载,谢谢. 小Q正在设计一种棋类游戏.在小Q设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能在有连线的格点之间移动.整个棋盘上共有V ...
- 面试(二)---synchronized
一.前言 本来计划将ConcurrentHashMap和HashMap对比着来说下,奈何看的源码有点懵逼,我在思考思考,等等有个清晰的思路在搞起来,我们先来谈一下synchronized ...
- 服务器使用nginx做代理,通过HttpServletRequest获取请求用户真实IP地址
首先,在nginx配置中添加如下配置 server { listen ; server_name www.wenki.info; #要访问的域名 charset utf8; location / { ...
- python中的赋值操作和复制操作
之前一直写C#,变量之间赋值相当于拷贝,修改拷贝变量不会改变原来的值.但是在python中发现赋值操作本质是和C++中的引用类似,即指向同一块内存空间.下面通过一个例子说明: p=[0,1,2,3,4 ...
- kafka简单回顾
先说说遇到的坑 回顾下kafka topic:生产组:P0\P1----P14 一个消费组:c0 c1 c2 依据Consumer的负载均衡分配 消费顺序"c0:p0-p4 c1:p5-p9 ...
- 去除html标记和替换script标记
1: /// <summary> 2: /// 去除HTML标记 3: /// </summary> 4: /// <param name="NoHTML&qu ...
- FJUT寒假作业第二周G题解快速幂
题目来源:http://210.34.193.66:8080/vj/Contest.jsp?cid=161#P6 题意:求n个数字的乘积对c取摸.主要就是有快速幂扩展到广义幂的过程. 首先题目 ...
- Docker如何获取镜像
可以使用 docker pull 命令来从仓库获取所需要的镜像. 下面的例子将从 Docker Hub 仓库下载一个 Ubuntu 12.04 操作系统的镜像. $ sudo docker pull ...
- Python3 JSON 数据解析
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进 ...