如何用python实现调用摄像头拍照并发送邮箱

描述

  # 本文思路

  1. 通过opencv调用摄像头拍照保存图像本地

  2. 用email库构造邮件内容,保存的图像以附件形式插入邮件内容

  3. 用smtplib库发送邮件到指定邮箱

  #

  # 代码部分

  模块导入

  《span》《/span》《br data-filtered=“filtered”/》

  import time

  import cv2

  from email.mime.image import MIMEImage # 用来构造邮件内容的库

  from email.mime.text import MIMEText

  from email.mime.multipart import MIMEMultipart

  import smtplib # 发送邮件

  授权码(最好写自己的)

  《br data-filtered=“filtered”/》

  ```

  pwd = “******”

  ```

  服务器接口

  ```

  host = ‘smtp.163.com’

  port = 25

  sender = ‘******@163.com’ # 最好写自己的

  receiver = ‘******@qq.com’ # 最好写自己的

  ```

  ```

  ```

  拍照保存图像《br data-filtered=“filtered”/》

  《br data-filtered=“filtered”/》

  ```

  def GetPicture():

  “”“

  :return:

  ”“”

  # 创建一个窗口

  cv2.namedWindow(‘camera’, 1)

  # 调用摄像头 IP摄像头APP

  video = “http://admin:admin@192.168.3.32:8081/video”

  cap = cv2.VideoCapture(video)

  while True:

  success, img = cap.read()

  cv2.imshow(“camera”, img)

  # 按键处理

  key = cv2.waitKey(10)

  if key == 27:

  # esc

  break

  if key == 32:

  # 空格

  fileaname = ‘frames.jpg’

  cv2.imwrite(fileaname, img)

  # 释放摄像头

  cap.release()

  # 关闭窗口

  cv2.destroyWindow(“camera”)

  ```

  邮件格式设置

  ```

  ```

  ```

  def SetMsg():

  “”“

  :return:

  ”“”

  msg = MIMEMultipart(‘mixed’)

  # 标题

  msg[‘Subject’] = ‘小姐姐照片’

  msg[‘From’] = sender # 发送方邮箱

  msg[‘To’] = receiver # 接收方邮箱

  # 邮件正文

  text = ‘你要的小姐姐照片到了,请接收’

  text_plain = MIMEText(text, ‘plain’, ‘utf-8’) # 正文转码

  msg.attach(text_plain)

  # 图片附件

  SendImageFile = open(‘D:/控制摄像头拍照并发送邮件/frames.jpg’, ‘rb’).read()

  image = MIMEImage(SendImageFile)

  # 将收件人看见的附件照片名称改为people.png.

  image[‘Content-Disposition’] = ‘attachment; filename = “people.png”’

  msg.attach(image)

  return msg.as_string()

  发送邮件

  《br data-filtered=“filtered”/》

  def SendEmail(msg):

  “”“

  :param msg:邮件内容

  :return:

  ”“”

  smtp = smtplib.SMTP()

  smtp.connect(host,port=25)

  smtp.login(sender, pwd)

  smtp.sendmail(sender, receiver, msg)

  time.sleep(2)

  smtp.quit()

  if name == ‘main’:

  # 1.拍照保存

  GetPicture()

  # 2.设置邮件格式

  msg = SetMsg()

  # 3.发送邮件

  SendEmail(msg)

  ```

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分