目录

python 的电子邮件编程

1.开启SMTP服务设置, 获取验证码

2.编写Python程序发送邮件示例


python 的电子邮件编程

  • 两个内建模块

    email 模块, 用于准备邮件内容的模块
    smtplib 模块, 用于与邮件服务器连接并发送邮件的模块

  • 使用 QQ 邮箱来发送电子邮件

    • 两步

      1. 配置QQ邮箱, 开启SMTP服务的设置, 获取验证码

      2. 编写 python 程序发送邮件

  • 配置 QQ邮箱的SMTP 服务

    • 网址: mail.qq.com

    • 授权码:

      aaaa bbbb cccc dddd

1.开启SMTP服务设置, 获取验证码

进入QQ邮箱的官网: mail.qq.com登陆

  1. 滑动滑块进行验证

    得到 如 aaaa bbbb cccc dddd 格式的验证码保存起来供后续使用

    1. 进入QQ邮箱的设置界面

    2. 向下拖动滚动条,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启SMTP设置

    3. 用手机 将 配置邮件客户端 发送到 1069 0700 69 然后点击 我已发送

    4. 如果SMTP 服务开启成功,且IMAP/SMTP服务状态显示关闭则说明QQ 邮箱的SMTP 服务开启成功

2.编写Python程序发送邮件示例

    from email.mime.text import MIMETextfrom email.header import Headerimport smtplibimport getpass​def inet_mail(body, sender, receivers, subject, host, passwd):# 准备正文,plain表示纯文本内容message = MIMEText(body, 'plain', 'utf8')# 设置头部消息message['From'] = Header(sender, 'utf8')message['To'] = Header(receivers[0], 'utf8')message['Subject'] = Header(subject, 'utf8')​# 发送邮件smtp = smtplib.SMTP()  # 创建smtp对象smtp.connect(host)  # 连接服务器# smtp.starttls()  # 如果服务器要求安全连接,则打开此注释smtp.login(sender, passwd)smtp.sendmail(sender, receivers, message.as_bytes())​if __name__ == '__main__':body = 'python互联网邮件测试\n'sender = '77878045@qq.com'receivers = ['77878045@qq.com', 'weimz@tedu.cn']subject = 'python email test'host = 'smtp.qq.com'# 密码不是登陆密码,而是授权码passwd = getpass.getpass()inet_mail(body, sender, receivers, subject, host, passwd)

Python 的电子邮件编程相关推荐

  1. 使用Python发送电子邮件

    by Arjun Krishna Babu 通过Arjun Krishna Babu 如何使用Python发送电子邮件 (How to send emails using Python) As a l ...

  2. 《Python数据可视化编程实战》——5.5 用OpenGL制作动画

    本节书摘来异步社区<Python数据可视化编程实战>一书中的第5章,第5.5节,作者:[爱尔兰]Igor Milovanović,更多章节内容可以访问云栖社区"异步社区" ...

  3. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

    Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...

  4. Python黑帽编程2.4 流程控制

    Python黑帽编程2.4  流程控制 本节要介绍的是Python编程中和流程控制有关的关键字和相关内容. 2.4.1 if -..else 先上一段代码: #!/usr/bin/python # - ...

  5. Python面对对象编程——对象、类详解及实例

    Python中类与对象的初认识 1.Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的 ...

  6. python的socket编程_Python Socket编程详细介绍

    在使用Python做socket编程时,由于需要使用阻塞(默认)的方式来读取数据流,此时对于数据的结束每次都需要自己处理,太麻烦.并且网上也没找到太好的封装,所以就自己写了个简单的封装. 封装思路 1 ...

  7. Python黑帽编程 3.1 ARP欺骗

    Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...

  8. python采用函数式编程模式吗_Python函数与函数式编程

    1 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创 ...

  9. python趣味编程100_《Python游戏趣味编程》 第8章 勇闯地下一百层

    知乎视频​www.zhihu.com 图书简介可以看这里:童晶:<Python游戏趣味编程>新书上架了​zhuanlan.zhihu.com 本章我们将编写一个勇闯地下一百层的游戏,键盘控 ...

最新文章

  1. rlwrap 让Linux下的sqlplus变得好用
  2. GNS3错误7200:无法开始Dynamips于端口7200
  3. php html url编码,html中url编码是什么?有什么用?
  4. 如何将业务系统的数据抽取汇聚到数据中台?
  5. android ble 实现自动连接,Android:自动重新连接BLE设备
  6. hdfs中与file数组类似的数组_EXCEL中数组的应用专题之十二:行列数相同数组的运算...
  7. ClippingNode实现新手引导高亮裁切
  8. OpenGL基础50:HDR
  9. Java 8 新日期时间 API ( 下 ) – 时区日期时间
  10. Java中各种读写文件的方法
  11. 3dsMax批量设置可编辑样条线的视口渲染
  12. 微信小程序选择图片更换背景
  13. Keil5中提示warning C318: can‘t open file ‘xxx.h‘
  14. 安卓面试中高级安卓开发工程师总结之——大公司面试的方向和套路以及应对方法
  15. oracle 70个常用函数
  16. 料:泡好的大米15克
  17. MAC Monterey升级后的L2TP问题的完美解决方案
  18. 扫描普通二维码跳转到微信小程序指定页面
  19. 记一次国内投德国IT工作机会
  20. 超详细的MySQL三万字总结

热门文章

  1. 一个IEEE论文LaTeX模板,可能较旧
  2. 程序员面试题精选100题(35)-两链表的第一个公共结点[数据结构]
  3. 程序员面试题精选100题(11)-求二元查找树的镜像[数据结构]
  4. Ubuntu下git使用教程
  5. Day 9: TextBlob——对文本进行情感分析
  6. 三个程序代码托管平台出现勒索事件? 建议启用多因素验证以保护账户
  7. VMware Workstation中安装linux系统(CentOS)超详细
  8. Docker中应用的性能调优指南(一)- 先谈谈容器化性能调优
  9. arcgis api for flex 开发入门(五)查询
  10. 现代化权限管理解决方案平台推动商业模式的演进