今天我带大家实现下简单的发邮件功能。我们要使用到email和smtplib库,这两个库时python自带的,直接import 引用就好了,实现环境python3.6.

  • 对QQ邮箱进行开启SMTP服务

         开启SMTP服务可以查看此链接,讲的很详细: https://jingyan.baidu.com/article/b0b63dbf1b2ef54a49307054.html

如下图:需要开启POP3/SMTP 服务,获取到的授权码,就是你登陆时需要用到的。

     

  • 使用QQ邮箱进行邮件发送: 代码如下

第一步:登陆QQ邮箱。

第二步:构建发件人,收件人,邮件标题,邮件内容等信息。

第三步:发送邮件。

 1 import smtplib
2 import email
3 from email.mime.text import MIMEText
4 from email.header import Header
5 from email.mime.multipart import MIMEMultipart
6
7 #纯文本格式发送email
8 def email_sendmail_txt(sender,receiver,title,message):
9 username = "67xxxx305@qq.com"
10 password_pop3 = "veixxxxxkmflxxgb"
11 #password_imap = "wpxxxxxyjnxxbcje"
12 smtp = smtplib.SMTP()
13 smtp.connect('smtp.qq.com')
14 smtp.login(username, password_pop3)
15 msg = MIMEText(message, "plain", 'utf-8')
16 msg["Subject"] = Header(title, 'utf-8')
17 msg["From"] = sender
18 msg["To"] = receiver
19 to_address = receiver.split(',') #将Str格式的receiver分割成list格式,才能发送邮件给多个人。
20 smtp.sendmail(sender, to_address, msg.as_string())
21 smtp.quit()
22
23 if __name__ == "__main__":
24
25 sender = "67xxxx305@qq.com"
26 receiver = 'lixx@vaxxxxxch.com,67xxxx305@qq.com'
27
28 mail_message = 'Dear all,\n 今日CP3良率监控情况如下所示:\n 您们好,我是TE助理1号,很高兴加入TE group,我会努力为大家提供服务,希望大家能够喜欢我,谢谢!\n'
29
30 mail_title = "CP3 yield monitor"
31
32 email_sendmail_txt(sender,receiver,mail_title,mail_message) #登陆QQ邮箱并发送消息
  • 问题总结
  1. 用email_sendmail 发送邮件,明明有很多个接收人,但是只有第一个人能收到邮件。

         ->:原因在于msg["To"] = receiver 的类型为str,而email_sendmail 中to_address 参数则需要是list格式,两者参数不一样。

两者如果混用,导致结果就是,发送的mail显示是有很多个收件人,可是成功收取邮件的只有第一个人而已。

              从smtplib.py中找到sendmail 函数定义就可以看到。

解决办法:如下图只需要将msg["To"] = receiver str类型的内容通过split()进行分割成list格式,就解决了!!!

Python 使用QQ 邮箱进行发送邮件及经验总结的更多相关文章

  1. python QQ邮箱自动发送邮件

    于初学者来讲在写发送邮件代码时常见的错误有SMTPAuthenticationError535,有点懵逼,检查用户名,密码正确就是报错, 想当年笔者也是这么过来的,现在就给大家分享一下个人经验: 一, ...

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

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

  3. python使用qq邮箱向163邮箱发送邮件、附件

    在生成html测试报告后 import smtplib,time from email.mime.text import MIMEText from email.mime.multipart impo ...

  4. C#如何利用QQ邮箱SMTP发送邮件

    public void SendEmail() { MailMessage msg = new MailMessage(); msg.To.Add("to@qq.com");//收 ...

  5. 用JavaMail通过QQ邮箱来发送邮件(第一篇博客,备忘)

    1.先启用QQ邮箱里POP3/STMP服务:生成授权码 2.导入mail.jar包(不要用太古董的技术,你懂得) 3.注意要在代码里加上开启SSL加密的代码 4.直接上代码 import java.u ...

  6. python 向qq邮箱发邮件

    #coding:utf-8 ''' Created on 2017-1-12 @author: xiaochun ''' import smtplib from email.mime.text imp ...

  7. python3 通过qq邮箱定时发送邮件

    下面的代码为了每天定时发送监控邮件,监控什么呢?监控当天redis队列中是否有没有消费的数据,和当天mysql中新增的数据量 # -*- coding:utf-8 -*- from common.re ...

  8. 使用Python登陆QQ邮箱发送垃圾邮件 简单实现

    参考:Python爱好者 知乎文章 需要做的是: 1.邮箱开启SMTP功能 2.获取授权码 上述两步百度都有. 源码: #!/usr/bin/env python from email.mime.te ...

  9. Selenium+webdriver自动化登陆QQ邮箱并发送邮件

    1.关于selenium  Selenium的主要功能包括:(1)测试与浏览器的兼容性:测试应用程序能否兼容工作在不同浏览器和操作系统之上.(2)测试系统功能:录制用例自动生成测试脚本,用于回归功能测 ...

  10. python发送QQ邮箱方法

    import smtplib from email.mime.text import MIMEText mail_user = "user1@qq.com" mail_pwd = ...

随机推荐

  1. OO_Lab2总结博客

    OO_Lab2 一.单元内容 本单元内容为规格化设计,即通过参考已经完成的JML描述实现一个社交网络相关功能. 本单元整体来说难度不大,但是却是我最惨的一次作业,所以本博客可能会主要谈一谈测试中的一些 ...

  2. 网页返回unicode源码 python解码详细步骤

    刚入门python! 记录一下网页返回源码,中文部分被unicode编码,python如何处理 1.先提取编码后的数据(如果不提取正篇源码直接unicode解码,解码方法无法识别) 这个步骤属于逻辑问 ...

  3. 试题管理/在线课程/模拟考试/能力评估报告/艾思在线考试系统www.aisisoft.cn

    艾思软件发布在线考试系统, 可独立部署, 欢迎咨询索要测试账号 一. 主要特点: ThinkPHP前后端分离框式开发 主要功能有: 在线视频课程, 模拟考试, 在线考试, 能力评估报告, 考试历史错题 ...

  4. Hihocoder 1067

    最近公共祖先二 离线算法 /**/ #include <cstdio> #include <cstring> #include <cmath> #include & ...

  5. c语言数据结构 树的基本操作

    树的基本操作有创建,插入,删除,以及各种遍历的应用,如:利用后序遍历求高度,利用前序遍历求层数的结点 基本算法思路:创建二叉树函数参数必须接受二级指针!如果使用同级指针,无法返回创建后的结果,利用递归 ...

  6. day49-数据类型、约束条件

    数据类型: 1.整型--默认情况下都是带有符号的, id int(8)-- 如果数字没有超过9位,默认用0填充,如果数字超出8位,有几位存几位 总结:针对整型字段,括号内无需指定宽度,因为它默认的宽度 ...

  7. Windhill获取团队角色、用户

    //获取容器团队里的用户和角色,也可以获取容器团队里某一角色的用户 WTContainer pContainer = project.getContainer(); if (pContainer in ...

  8. LIS3DH三轴加速度计-实现欧拉角(俯仰角,横滚角)-转载

    1. LIS3DH管脚定义 PS:LIS3DH和mpu6050的X和Y方向是相反的, mpu6050如下图所示: 2.LIS3DH加速度计介绍 由于LIS3DH只可以得到XYZ加速度,无法获取角速度, ...

  9. python 引用传递,简单例子

    from threading import Threaddef test1(a): while 1: print adef test2(a): a["a"] = 2if __nam ...

  10. @Value属性值读取

    1.在父类定义属性DQ,并通过配置初始化 @Configuration public class DQConfig { public static String DQ; @Value("${ ...