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 !无法从传输连接中读 ...
随机推荐
- HDU 1540 Tunnel Warfare(最长连续区间 基础)
校赛,还有什么途径可以申请加入ACM校队? Tunnel Warfare Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/ ...
- Triangle(动态规划)
题目描述 Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjac ...
- C语言程序设计第二次作业0
(一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 include int mian() { printf(&q ...
- 基于GCC的openMP学习与测试
(一).openMP简述 Open Multiprocessing (OpenMP) 框架是一种功能极为强大的规范,可以帮助您利用 C.C++ 和 Fortran 应用程序中的多个核心带来的好处,是基 ...
- @RequestBody和@ModelAttribute注解
一 .@RequestBody @RequestBody接收的是一个Json对象的字符串,而不是一个Json对象.然而在ajax请求往往传的都是Json对象,后来发现用 JSON.stringify( ...
- 查询优化--小表驱动大表(In,Exists区别)
Mysql 系列文章主页 =============== 本文将以真实例子来讲解小表驱动大表(In,Exists区别) 1 准备数据 1.1 创建表.函数.存储过程 参照 这篇(调用函数和存储过程批 ...
- Java 读取 json文件
public ResponseBean getAreas() { String path = getClass().getClassLoader().getResource("area.js ...
- JavaScript正则表达式模式匹配(3)——贪婪模式和惰性模式
var pattern=/[a-z]+/; //这里使用了贪婪模式, var str='abcdefg'; alert(str.replace(pattern,'1')); //所有的字符串变成了1 ...
- Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013
折腾了三天终于配置成功了,在此写下编译配置的全部步骤和遇到的很多坑. 整体介绍: OpenCV 中 CUDA 实现的函数还不是太多,使用前要在OpenCV的官网上确认以下你想要的功能是否已经实现,否则 ...
- 通过内核修改centos密码
在开机启动的时候按键盘上的"E"键会进入如下界面. 选择相应的内核,再次按"E",出现下图,选择第二项,再次按"E"键 经过第二步,这个画面 ...