这篇文章给大家分享的是有关Python如何实现控制手机电脑拍照并自动发送邮箱的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

本文思路

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

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

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

代码部分

模块导入

importtimeimportcv2fromemail.mime.imageimportMIMEImage#用来构造邮件内容的库fromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartimportsmtplib#发送邮件

授权码(最好写自己的)

pwd="******"

服务器接口

host='smtp.163.com'port=25sender='******@163.com'#最好写自己的receiver='******@qq.com'#最好写自己的

拍照保存图像

defGetPicture():""":return:"""#创建一个窗口cv2.namedWindow('camera',1)#调用摄像头IP摄像头APPvideo="http://admin:admin@192.168.3.32:8081/video"cap=cv2.VideoCapture(video)whileTrue:success,img=cap.read()cv2.imshow("camera",img)#按键处理key=cv2.waitKey(10)ifkey==27:#escbreakifkey==32:#空格fileaname='frames.jpg'cv2.imwrite(fileaname,img)#释放摄像头cap.release()#关闭窗口cv2.destroyWindow("camera")

邮件格式设置

defSetMsg():""":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)returnmsg.as_string()

发送邮件

defSendEmail(msg):""":parammsg:邮件内容: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)

全部代码

importtimeimportcv2#pipinstallopencv-python-i镜像源网址fromemail.mime.imageimportMIMEImage#用来构造邮件内容的库fromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartimportsmtplib#发送邮件#授权码pwd="******"#最好写自己的#服务器接口host='smtp.163.com'port=25sender='******@163.com'#最好写自己的receiver='****@qq.com'#最好写自己的defGetPicture():#创建一个窗口cv2.namedWindow('camera',1)#调用摄像头IP摄像头APPvideo="http://admin:admin@192.168.3.32:8081/video"cap=cv2.VideoCapture(video)whileTrue:success,img=cap.read()cv2.imshow("camera",img)#按键处理key=cv2.waitKey(10)ifkey==27:#escbreakifkey==32:#空格fileaname='frames.jpg'cv2.imwrite(fileaname,img)#释放摄像头cap.release()#关闭窗口cv2.destroyWindow("camera")defSetMsg():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)returnmsg.as_string()defSendEmail(msg):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)

感谢各位的阅读!关于“Python如何实现控制手机电脑拍照并自动发送邮箱”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!