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 !无法从传输连接中读 ...
随机推荐
- bzoj 4974: 字符串大师
Description 一个串T是S的循环节,当且仅当存在正整数k,使得S是T^k(即T重复k次)的前缀,比如abcd是abcdabcdab的循环节 .给定一个长度为n的仅由小写字符构成的字符串S,请 ...
- of_alias_get_id 函数与设备树中aliases节点的关系【转】
转自:https://blog.csdn.net/qq_30145093/article/details/78053823?locationNum=10&fps=1 转自http://www. ...
- QCA4028软件平台启用双WAN指导
1 为何要启用双WAN QCA4028的硬件方案,基板上部署了一个LTE模块插槽,同时又外留了一个USB3.0接口,因此,就可以在此硬件平台上调试基于LTE的双WAN,预期实现: A 链路备份,在任意 ...
- php留言板的实现
留言板功能的实现,主要就是通过编程语言对数据库进行操作,简单说也就是插入和查询的实现.不管是什么语言进行实现,道理都是一样的. 应学习需要,这里用php世界上最美的语言来进行实现. 主要步骤为: 连接 ...
- [ 学习笔记 ] Hibernate框架学习之一
一.JavaEE开发三层结构和三大框架的对应关系: Struts2框架 -> 表现层 web层(MVC是表现层的设计模型) 业务层 service层 Hibernate框架 -> 持久层 ...
- Java多线程并发工具类
Semaphore-信号灯机制 当我们创建一个可扩展大小的线程池,并且需要在线程池内同时让有限数目的线程并发运行时,就需要用到Semaphore(信号灯机制),Semaphore 通常用于限制可以访问 ...
- Git/GitHub SSH配置
生成 SSH 公钥 如前所述,许多 Git 服务器都使用 SSH 公钥进行认证. 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份. 这个过程在所有操作系统上 ...
- ubuntu14.04拼音输入法问题的解决方法
14.04的自带的拼音输入法,打字的时候你会发现有很大的问题,打不出来一个完整的字. 解决方法: ibus-daemon -drx //重启ibus进程 在终端里输一次这个命令就ok了. 或者装个 ...
- 判断当前设备是移动端或者PC端
<script> function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var ...
- AngularJs 笔记
初识 directive 指令 ng-app 初始化一个AngularJs应用程序(通过一个值(比如 ng-app="myModule")连接到代码模块.) ng-init 初始化 ...