整个链路:传感器采集端采集数据,边缘端上传数据库,从数据库拿到数据。
产品端有个自动出报告的需求,并且希望自动出的报告可以定时通过邮件发到指定邮箱中。
自动发邮件中也有较多坑,本文特此记录自动发邮件中的坑。
使用:Python3.7,win10系统,163邮箱作为发邮件方,QQ邮箱作为收邮件方。
**第一步:**申请两个账号分别作为发送和接收的账号,本文用的是一个163邮箱,一个是qq邮箱。
第一个坑需要注意了,上图是qq邮箱中的邮箱设置,需要在账户中开启POP3/SMTP服务(一定要开启,不然即使Python中的代码都是对的,也不能正常发送邮件,因为Python中发邮件用的是SMTP的邮件传输协议包),这里还有一个坑需要注意的是:如果你把这个邮箱当作是发送邮件的一方,还需要记住授权码,因为Python中邮箱的登录是用授权码的而不是密码。
在163邮箱中的设置中也将POP3/SMTP服务打开。
开启SMTP服务后,一定要记住授权码
**第二步:**Python编写程序
#发送邮件模块
import smtplib
#写邮件模块
import email
#定义邮件类型及内容
"""
邮件体为多组件类型(如果不是单一发送文本或者图片或者附件,那么就需要这个多组件类型将
其它元素打包进来)
"""
from email.mime.multipart import MIMEMultipart
#邮件中的文本信息
from email.mime.text import MIMEText
#邮件中的图片信息
from email.mime.image import MIMEImage
#定义邮件标题
from email.header import Header
#################################################################################################
#设置服务器所需