python使用qq服务器发送邮件

直接上代码:

  1. #!/usr/bin/python2.7
  2. #-*- coding: UTF-8 -*-
  3. # sendmail.py
  4. #
  5. # init created: 2016-04-21
  6. # last updated: 2016-04-21
  7. ########################################################################
  8. import smtplib
  9. from email.mime.text import MIMEText
  10. import traceback
  11.  
  12. class SmtpSendMail:
  13. def __init__(self, config):
  14. try:
  15. # 设置发件服务器地址, 如: "smtp.qq.com"
  16. self.host = config["host"]
  17.  
  18. # 设置发件服务器端口号. 有SSL(465)和非SSL(25)两种形式
  19. self.port = config["port"]
  20.  
  21. # 设置发件邮箱, 一定要自己注册的邮箱, 如: "cheungmine@qq.com"
  22. self.sender = config["sender"]
  23.  
  24. # 设置发件邮箱的密码, 登陆会用到
  25. self.password = config["password"]
  26.  
  27. # 设置超时秒
  28. self.timeout = config["timeout"]
  29.  
  30. # SSL
  31. if not config.get("SSL"):
  32. self.SSL = False
  33. else:
  34. self.SSL = True
  35.  
  36. # session
  37. if self.SSL:
  38. session = smtplib.SMTP_SSL(self.host, self.port, self.timeout)
  39. else:
  40. session = smtplib.SMTP(self.host, self.port, self.timeout)
  41.  
  42. # 登陆邮箱
  43. session.login(self.sender, self.password)
  44.  
  45. self.session = session
  46. except Exception, e:
  47. traceback.print_exc()
  48. pass
  49.  
  50. def sendmail(self, mailto):
  51. result = False
  52. try:
  53. # 设置正文为符合邮件格式的HTML内容
  54. msg = MIMEText(mailto["body"], 'html')
  55.  
  56. # 设置邮件标题
  57. msg['subject'] = mailto["title"]
  58.  
  59. # 设置发送人
  60. msg['from'] = self.sender
  61.  
  62. # 设置邮件接收人
  63. msg['to'] = mailto["receiver"]
  64.  
  65. # 发送邮件
  66. self.session.sendmail(self.sender, mailto["receiver"], msg.as_string())
  67. result = True
  68. except Exception, e:
  69. traceback.print_exc()
  70. finally:
  71. return result
  72. pass
  73.  
  74. # test
  75. mailfrom = {
  76. "host": "smtp.qq.com",
  77. "port": 465,
  78. "sender": "cheungmine@qq.com",
  79. "password": "xxxxx",
  80. "timeout": 30,
  81. "SSL": True
  82. }
  83.  
  84. mailto = {
  85. "receiver": "350137278@qq.com",
  86. "title": "This is a test mail",
  87. "body": "<h1>Hi</h1><p>test mail from cheungmine</p>"
  88. }
  89.  
  90. smtp = SmtpSendMail(mailfrom)
  91. print smtp.sendmail(mailto)

python使用qq服务器发送邮件的更多相关文章

  1. Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError

    最新在学习Python的基础入门系列课程,今天学习到使用python 的内置库smtplib发送邮件内容. 使用Python发送邮件步骤简单: 创建SMTP连接 使用邮箱和密码登录SMTP服务器 创建 ...

  2. python使用smtplib库和smtp.qq.com邮件服务器发送邮件(转)

    使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们 ...

  3. python使用smtplib库和smtp.qq.com邮件服务器发送邮件

    使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们 ...

  4. python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件

    python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件 使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPA ...

  5. 阿里云服务器发送邮件: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] 一.总 ...

  6. python qq邮箱发送邮件

    使用qq发送邮件 # coding=utf8 """ qq邮箱发送邮件 """ import sys reload(sys) sys.set ...

  7. 杂项之使用qq邮箱发送邮件

    杂项之使用qq邮箱发送邮件 本节内容 特殊设置 测试代码 1. 特殊设置 之前QQ邮箱直接可以通过smtp协议发送邮件,不需要进行一些特殊的设置,但是最近使用QQ邮箱测试的时候发现以前使用的办法无法奏 ...

  8. Python中使用SMTP发送邮件以及POP收取邮件

    假设我们自己的电子邮件地址是from@163.com,对方的电子邮件地址是to@sina.com(这里的地址虚拟的),现在我们用Outlook或者Foxmail之类的软件写好邮件,填上对方的Email ...

  9. ASP.NET用QQ,网易发送邮件以及添加附件

    教程:ASP.NET用QQ,网易发送邮件以及添加附件 这是我用QQ邮箱出现的异常: 命令顺序不正确. 服务器响应为:Error: need EHLO and AUTH first !无法从传输连接中读 ...

随机推荐

  1. SPOJ DQUERY树状数组离线or主席树

    D-query Time Limit: 227MS   Memory Limit: 1572864KB   64bit IO Format: %lld & %llu Submit Status ...

  2. [bzoj4813][Cqoi2017]小Q的棋盘

    来自FallDream的博客,未经允许,请勿转载,谢谢. 小Q正在设计一种棋类游戏.在小Q设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能在有连线的格点之间移动.整个棋盘上共有V ...

  3. 面试(二)---synchronized

    一.前言        本来计划将ConcurrentHashMap和HashMap对比着来说下,奈何看的源码有点懵逼,我在思考思考,等等有个清晰的思路在搞起来,我们先来谈一下synchronized ...

  4. 服务器使用nginx做代理,通过HttpServletRequest获取请求用户真实IP地址

    首先,在nginx配置中添加如下配置 server { listen ; server_name www.wenki.info; #要访问的域名 charset utf8; location / { ...

  5. python中的赋值操作和复制操作

    之前一直写C#,变量之间赋值相当于拷贝,修改拷贝变量不会改变原来的值.但是在python中发现赋值操作本质是和C++中的引用类似,即指向同一块内存空间.下面通过一个例子说明: p=[0,1,2,3,4 ...

  6. kafka简单回顾

    先说说遇到的坑 回顾下kafka topic:生产组:P0\P1----P14 一个消费组:c0 c1 c2 依据Consumer的负载均衡分配 消费顺序"c0:p0-p4 c1:p5-p9 ...

  7. 去除html标记和替换script标记

    1: /// <summary> 2: /// 去除HTML标记 3: /// </summary> 4: /// <param name="NoHTML&qu ...

  8. FJUT寒假作业第二周G题解快速幂

    题目来源:http://210.34.193.66:8080/vj/Contest.jsp?cid=161#P6     题意:求n个数字的乘积对c取摸.主要就是有快速幂扩展到广义幂的过程. 首先题目 ...

  9. Docker如何获取镜像

    可以使用 docker pull 命令来从仓库获取所需要的镜像. 下面的例子将从 Docker Hub 仓库下载一个 Ubuntu 12.04 操作系统的镜像. $ sudo docker pull ...

  10. Python3 JSON 数据解析

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进 ...