Python实现自动发邮箱

这里就不多介绍了,代码中都有注释

发送纯文本邮件

import smtplib
# 创建邮件对象-被发送的东西
from email.mime.multipart import MIMEMultipart
# 邮件的主题
from email.header import Header
# 构建文本内容
from email.mime.text import MIMEText

# 1.连接邮箱服务器,登录邮箱
# 1)连接邮箱服务器:smtplib.SMTP_SSL(邮箱连接地址,端口号)
# 163邮箱的连接地址:smtp.163.com
# qq邮箱的连接地址:smtp.qq.com
# 端口号: 465/25
con = smtplib.SMTP_SSL('smtp.163.com',465)# 安全连接

# 2)登录用来发送邮件的邮箱
# 连接对象.login(账号,密码)
# 密码 - 163邮箱,密码直接写密码。QQ邮箱,密码写授权码
con.login("wlf200011@163.com","授权码")

#2.准备数据
#1)创建邮件对象
msg = MIMEMultipart() #创建一个要发送的邮件类-空的

# 设置邮件主题
# Header(标题,编码方式)
subect = Header("嘟嘟嘟","utf-8").encode() # 编码成二进制
msg["Subject"] = subect

# 设置邮件发送人
msg["From"] = "wlf200011@163.com <wlf200011@163.com>"

# 设置邮件的收件人
# '收件人1;收件人2;收件人3;。。。'
msg["To"] = "1022856326@qq.com"

# 设置邮件正文(邮件需要发送的内容)
# 普通文本:MIMEText(文字内容,文本类型,编码方式)
# 文本类型 - plain(普通文字),html(超链接),base64(二进制文件,附件)
text = MIMEText("smtplib发ddAdAdadada asd asd as a sa 送邮件测试","plain","utf-8")
# 可以多次添加-多次attach
msg.attach(text)

# 3.发送邮件
# 连接对象.sendmail(发件人,收件人,字符串类型的邮件对象)
con.sendmail("wlf200011@163.com","1022856326@qq.com",msg.as_string())
# 退出邮箱
con.quit()

发送html

from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
con = smtplib.SMTP_SSL('smtp.qq.com',465)# 安全连接

con.login("321592940@qq.com","授权码")

msg = MIMEMultipart() #创建一个要发送的邮件类-空的
subect = Header("发送html内容","utf-8").encode() # 编码成二进制
msg["Subject"] = subect
msg["From"] = "321592940@qq.com <321592940@qq.com>"
msg["To"] = "1022856326@qq.com"
# ==============构建html内容=============
content = """
<img src='https://img-blog.csdnimg.cn/2022020500004553194.jpeg'>
<h1>我是正文的大标题</h1>
<h2>我是正文的小标题</h2>
<p>我是邮件的正文段落文字</p>
<a href='https://www.baidu.com'>点此跳转</a>
"""
html = MIMEText(content,"html","utf-8")
msg.attach(html)

con.sendmail("321592940@qq.com","1022856326@qq.com",msg.as_string())
con.quit()

发送图片

import smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.image import MIMEImage
from email.mime.text import MIMEText
# 1连接服务器
con = smtplib.SMTP_SSL("smtp.qq.com",465)
# 2登录邮箱
con.login("321592940@qq.com","授权码")
# 准备数据
msg = MIMEMultipart()
subject = Header("图片发送测试","utf-8").encode()
msg["Subject"] = subject
msg["From"] = "321592940@qq.com <321592940@qq.com>"
msg["To"] = "1022856326@qq.com"

# 设置内容
# =================发送图片================
# 1)发送图片附件
# MIMEImage(图片二进制数据)
image_data1 = open("1.jpg","rb").read()
image1 = MIMEImage(image_data1)
# 设置附件名(不支持中文)
image1["Content-Disposition"] = "attachment;filename='image1.jpg'"
# 添加到邮件对象中
msg.attach(image1)

# ==============================================
# 另一种方法 不作为附件发送
# image_data2 = open("1.jpg","rb").read()
# image2 = MIMEImage(image_data2)
# image2.add_header("Content-id","<img2>")
# msg.attach(image2)
# content = """
# <p>这是一条发送图片的邮件</p>
# <img src='img2'>
# """
# html = MIMEText(content,"html","ut-8")
# msg.attach(html)
# ========================================================

con.sendmail("321592940@qq.com","1022856326@qq.com",msg.as_string())
con.quit()

发送文件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header

con = smtplib.SMTP_SSL("smtp.qq.com",465)
con.login("321592940@qq.com","授权码")

msg = MIMEMultipart()
msg["Subject"] = Header("发送邮件","utf-8").encode()
msg["From"] = "321592940@qq.com <321592940@qq.com>"
msg["To"] = "1022856326@qq.com"

# =========================准备附件============================
content1 = open("静夜思.txt","rb").read()
file1 = MIMEText(content1,"base64","utf-8")
file1["Content-Disposition"] = "attachment;filename='jingyes.txt'"
msg.attach(file1)

con.sendmail("321592940@qq.com","1022856326@qq.com",msg.as_string())
con.quit()

打开摄像头并且录像

# 导入opencv和numpy的库文件
import cv2
import numpy as np

# VideoCapture()用来捕获视频设备的ID,device = 0表示只有一个摄像头
device = 0
cap = cv2.VideoCapture(device)

# fourcc(Four-Character-Codes):独立显示视频数据流格式的四字符编码
# 定义视频编码器为XVID
fourcc = cv2.VideoWriter_fourcc(*'XVID')

# 设定输出视频的名称和格式,以及帧率和分辨率
out = cv2.VideoWriter('output1.mp4', fourcc, 24.0, (640, 480))

while True:
    # ret的返回值为True或者False,表示有没有读取到图片;frame表示一帧图片
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  # 灰度视频流的参数设置
    out.write(frame)  # 将视频保存
    cv2.imshow('frame', frame)  # 显示原视频流
    cv2.imshow('gray', gray)  # 显示灰度格式的视频流

    if cv2.waitKey(1) == ord('q'):  # 按下q后退出条件成立
        break

# 释放内存
cap.release()
out.release()
cv2.destroyAllWindows()

这里有一个整蛊小插件,自动打开摄像头保存视频然后发送到指定邮箱!时间有点久,代码就找不到了,感兴趣的小伙伴自己拼接一下吧 嘿嘿嘿

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值