之前研究了一下通过itchat控制电脑的浏览器及其他操作,但是每次都需要扫码登录,就很是麻烦,于是呢,我一直有考虑想一种其他方法代替,现在可以通过邮件发送电脑或者浏览器的截图,然后也可以发邮件给固定的账号,实现远程操控电脑。
发邮件的代码如下,开发版本为py3.6:
def email():
sender = '#发送方
receivers = '54321@qq.com'#接收方
message = MIMEMultipart('related')
subject = '结果反馈'#主题
message['Subject'] = subject
message['From'] = sender
message['To'] = receivers
content = MIMEText('<html><body><img src="cid:imageid" alt="imageid"></body></html>', 'html', 'utf-8')
message.attach(content)
file = open("D:\yzm\jieguo.png", "rb")#想要发送的图片路径
img_data = file.read()
file.close()
img = MIMEImage(img_data)
img.add_header('Content-ID', 'imageid')
message.attach(img)
try:
server = smtplib.SMTP_SSL("smtp.qq.com", 465)
server.login(sender, "*************")#星号为邮箱设置里面获取的授权码
server.sendmail(sender, receivers, message.as_string())
server.quit()
print("邮件发送成功")
except smtplib.SMTPException as e:
print(e)
其中授权码获取方式如下:
打开邮箱点击设置,然后账户那一页就有。
然后呢,这是接收邮件的代码:
# 此函数通过使用poplib实现接收邮件
def recv_email_by_pop3():
# 要进行邮件接收的邮箱。改成自己的邮箱
email_address = "12345@qq.com"
# 要进行邮件接收的邮箱的密码。改成自己的邮箱的密码
email_password = "************"#对应的是授权码
# 邮箱对应的pop服务器,也可以直接是IP地址
# 改成自己邮箱的pop服务器;qq邮箱不需要修改此值
pop_server_host = "pop.qq.com"
# 邮箱对应的pop服务器的监听端口。改成自己邮箱的pop服务器的端口;qq邮箱不需要修改此值
pop_server_port = 995
# 连接pop服务器。如果没有使用SSL,将POP3_SSL()改成POP3()即可其他都不需要做改动
email_server = poplib.POP3_SSL(host=pop_server_host, port=pop_server_port, timeout=10)
# 验证邮箱是否存在
email_server.user(email_address)
# 验证邮箱密码是否正确
email_server.pass_(email_password)
# 邮箱中其收到的邮件的数量
email_count = len(email_server.list()[1])
# 通过retr(index)读取第index封邮件的内容;这里读取最后一封,也即最新收到的那一封邮件
resp, lines, octets = email_server.retr(email_count)
# lines是邮件内容,列表形式使用join拼成一个byte变量
# 关闭连接
email_server.close()
email_content = b'\r\n'.join(lines)
# 再将邮件内容由byte转成str类型
email_content = email_content.decode()
result = re.findall("Subject: (.*)",email_content)[0][0:]
# time1 = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
# biaoshi = str(time1)+ result
# print(biaoshi)
return int(result)
可以通过写一个循环,然后加上sleep实现监控邮件内容的操作,然后写判断,当邮件主题为某个关键字的时候,发起某种操作,比如打开一个浏览器或者发送一张截图之类的操作。