2020年10月2日

前两天看到kk的公众号推送

有一句话特别醒目

努力是最不值得拿来夸口的东西,因为这是最基本的

以前考研的时候所有驱动力都是kk的推送

后来有了内在驱动力

很少点开kk的推送了

最好的摆渡人的结局

今天发生了一件超级有趣的事情

人生中第一次遇见跟我同名的人,

在某大的群里

哪怕姓不一样,性别也不一样,真的很少见

我说好像和您同名

他说,我的荣幸

我回:荣幸之至

然后有了对方的添加信息

“我是***,CSE PhD student,请多指教”

我们互聊了当下最顶的教授,然后也帮忙推荐了他的博导

互约了有机会回去,一起去hiking.

嗯,在某大,真的会很放心的毫防备的和大家聊,约户外活动,因为大家一心学术,品德纯良,尊重女性,谦逊自信,根本没有所谓的目的性

今天要学习的群发邮件,主要需要学习两个模块

方法是smtplib,email这两个模块

其中:smtplib是用来发送邮件用的,email是用来构建邮件内容的,这两个都是Python内置模块

第一行,我们懂,是引入smtplib模块。第三行,server是一个变量,smtplib.SMTP()是变量server的值。我们已经知道了smtplib是模块的名称,那SMTP是什么意思呢?

请你先在自己电脑的VS Code上新建一个.py文件。注意:这个.py文件不能命名为email.py,而且你存放这个py文件的文件夹里,也不能email.py。这是由于我们后面要调用email模块,如果将文件也命名为email,会造成报错。

import smtplib

server = smtplib.SMTP()

server.connect(host, port)

server.login(username, password)

server.sendmail(sender, to_addr, msg.as_string())

server.quit()

SMTP (Simple Mail Transfer Protocol)翻译过来是“简单邮件传输协议”的意思,SMTP 协议是由源服务器到目的地服务器传送邮件的一组规则。可以简单理解为:我们需要通过SMTP指定一个服务器,这样才能把邮件送到另一个服务器。

import smtplib

server = smtplib.SMTP()

server.connect(host, port)

第四行代码,就是干这个工作的,连接(connect)指定的服务器。host是指定连接的邮箱服务器,你可以指定服务器的域名。通过搜索“xx邮箱服务器地址”,就可以找到。port 是“端口”的意思。端口属于计算机网络知识里的内容,你可以自行搜索了解,现在我们只要知道它是一个【整数】即可。我们需要指定SMTP服务使用的端口号,一般情况下SMTP默认端口号为25

import smtplib

server = smtplib.SMTP_SSL()

#如果端口是用SSL加密,请这样写代码。其中server是变量名

server.connect('smtp.qq.com', 465)

#如果出现编码错误UnicodeDecodeError,你可以这样写:server.connect('smtp.qq.com', 465,'utf-8')

第五行代码,login是登录的意思,也就是登录你指定的服务器用的,需要输入两个参数:登录邮箱和授权码

第六行代码sendmail是“发送邮件”的意思,是发送邮件用的,sendmail()方法需要三个参数:发件人,收件人和邮件内容。这里的发件人from_addr与上面的username是一样的,都是你的登录邮箱,所以只用设置一次。

msg.as_string()是一个字符串类型:as_string()是将发送的信息msg变为字符串类型。

以QQ邮箱为例:

# smtplib 用于邮件的发信动作

import smtplib

# 发信方的信息:发信邮箱,QQ邮箱授权码

from_addr = 'xxx.qq@com'

password = '你的授权码数字'

# 收信方邮箱

to_addr = 'xxx.qq@com'

# 发信服务器

smtp_server = 'smtp.qq.com'

# 开启发信服务,这里使用的是加密传输

server = smtplib.SMTP_SSL()

server.login(smtp_server,465)

# 登录发信邮箱

server.login(from_addr, password)

# 发送邮件

server.sendmail(from_addr, to_addr, msg.as_string())

# 关闭服务器

server.quit()

email 模块:也就是用来写邮件内容的模块。这个内容可以是纯文本、HTML内容、图片、附件等多种形式

from email.mime.text import MIMEText

from email.mime.image import MIMEImage

from email.mime.multipart import MIMEMultipart

# smtplib 用于邮件的发信动作

import smtplib

from email.mime.text import MIMEText

# email 用于构建邮件内容

# 发信方的信息:发信邮箱,QQ 邮箱授权码

from_addr = 'xxx@qq.com'

password = '你的授权码数字'

# 收信方邮箱

to_addr = 'xxx@qq.com'

# 发信服务器

smtp_server = 'smtp.qq.com'

# 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码

msg = MIMEText('send by python','plain','utf-8')

# 开启发信服务,这里使用的是加密传输

server = smtplib.SMTP_SSL()

server.connect(smtp_server,465)

# 登录发信邮箱

server.login(from_addr, password)

# 发送邮件

server.sendmail(from_addr, to_addr, msg.as_string())

# 关闭服务器

server.quit()

如果你的Python版本是3.7,很可能发生这种报错。因为Python 3.7修改了ssl.py,导致smtplib.SMTP_SSL也连带产生了问题

有问题可以讨论哦

实在太困了,偷点懒~

晚安

python怎么群发邮件_python小白之实现群发邮件相关推荐

  1. python print换行_Python小白必备:教你几招如何装逼

    字符串是 Python 中最常用的数据类型.我们可以使用引号( ' 或 " )来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!'v ...

  2. python学习面向对象_Python小白必学的面向对象

    我们已经知道在Python中"一切皆对象",每个对象都有特定的类型,现在让我们来尝试创建自己的类型--这需要使用class关键字来定义新的"类"(Class), ...

  3. python画桃花_Python小白如何使用爬虫自动抓取《三生三世十里桃花》豆瓣电影短评...

    1.准备工作 python是一门相对于其他语言来说肥肠自由的语言,从它只能用空白符作为强制缩进符就能够感受到它与众不同,爱用不用的独特气质,像这样一位潇洒任性的公子自然免不得要提前做一些准备才能驾驭. ...

  4. python集合类型变量_Python小白学习之路(八)—【变量】【基本数据类型分类】【集合】【集合的功能】...

    一.变量 变量的作用:记录状态的变化 变量的值:描述不同的状态 二.五大基本数据类型的分类 五大基本数据类型(数字 字符串 列表 元祖 字典) 按照可变不可变来进行分类 可变:列表.字典 不可变:字符 ...

  5. 定义一个没有参数的函数、输出python3次_Python函数参数详解,三天让你掌握python,不再是小白

    原标题:Python函数参数详解,三天让你掌握python,不再是小白 引言 随着程序功能的增多,代码量随之增大,此时仍不加区分地把所有功能的实现代码放到一起,将会使得程序的组织结构不清晰,可读性变差 ...

  6. python 真多线程_Python之路200个小例子,在线网页版来了,从此学习更方便!

    历史两个月,利用所有业余时间,与朋友一起搜集.创作Python小例子,截止目前已超过200个例子,全新整合汇总为九大章节: 感受Python之美 | 一.Python基础 | 二.Python字符串和 ...

  7. python 收发邮件_Python 【收发邮件】

    发邮件 smtplib模块主要负责发送邮件 email模块主要负责构造邮件.这两个都是Python内置模块 smtplib.SMTP.方法 #按住Ctrl键并点击SMTP ,会看到对SMTP的解释(v ...

  8. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  9. Python学习教程(Python学习视频_Python学些路线):Day05 总结和练习

    Python学习教程(Python学习视频_Python学些路线):总结和练习 练习清单 寻找"水仙花数". 寻找"完美数". "百钱百鸡" ...

最新文章

  1. [BZOJ 2756] 奇怪的游戏
  2. ios开发学习笔记--调用相册或相机(UIImagePickerController)
  3. 万分之二用百分之怎么表示_万分之几用百分符号怎么表示 万分之五怎么写?0.5%...
  4. spi四种工作模式时序图_还没学会SPI总线协议?干货都在这里
  5. IDEA查看Scala的源码
  6. flex include和import
  7. 设置NumericStepper控件不可用状态的字体颜色。
  8. [推荐算法]基于用户的协同过滤算法
  9. CodeForces - 816A Karen and Morning 解题
  10. vue组件中使用预览ofd文件、上传预览ofd文件、下载ofd文件
  11. MSN Messenger的用户管理
  12. 阿里云:疫情期间全力保障教育平台“停课不停学”
  13. Machine Learning笔记——逻辑回归算法
  14. 基于C++和QT实现的简单数独游戏软件
  15. springboot 实现图片上传功能
  16. The Pilots Brothers‘ Refrigerator(高效贪心)
  17. 凡科网怎么样啊,中小企业建站凡科网值得选择吗,口碑如何?
  18. 特斯拉自动驾驶造假实锤:总监出马亲自作证,撞车片段被删,所有功能均为预编程...
  19. c 语言中12u是多少,填空题总复习题及参考答案
  20. 韶关2020年计算机专业录取分,韶关技师学院2020年招生录取分数线

热门文章

  1. SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名
  2. python图像相乘运算_MATLAB:图像乘除法运算(immultiply、imdivide函数),同时比较双精度类型图像运算结果...
  3. 【时尚名人】著名歌手马宁介绍
  4. 基于yolov5框架实现人流统计(目标检测算法、目标追踪算法以及越界识别功能)+手机获取统计人数
  5. 倒计时报名3天 | 首届微软学生开发者峰会即将开幕!
  6. 基于SSM+SpringBoot+MySQL+Layui+Thymeleaf的高校信息BBS论坛系统
  7. openweathermap-免费的天气预报接口
  8. 人口增长 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 33153 通过数: 22753 【题目描述】 我国现有x亿人口,按照每年0.1%的增长速度,
  9. 根据医院药品销售数据分析本年度销售情况
  10. [附源码]SSM计算机毕业设计网上书店管理系统JAVA