教程摘要
本教程教你如何使用 Python 编写一个后台程序。核心逻辑是利用 Python 的扩展库调用摄像头进行拍摄,并配置 SMTP 协议将图片作为附件自动发送到指定邮箱。这能帮你监控电脑在你离开时是否被他人擅自开机使用。
操作步骤
-
环境准备:
- 安装 Python 环境。
- 安装所需库,终端运行:
pip install pillow - 开启邮箱的 POP3/SMTP 服务(以 QQ 邮箱为例),获取授权码。
-
编写代码 (main.py):
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage from PIL import Image import time def take_photo(): # 调用摄像头拍照 cap = Image.open(0) filename = f"capture_{int(time.time())}.jpg" cap.save(filename) return filename def send_email(image_file): # 邮箱配置 sender = '你的邮箱@qq.com' receiver = '接收邮箱@qq.com' smtp_server = 'smtp.qq.com' password = '你的SMTP授权码' # 不是登录密码 msg = MIMEMultipart() msg['Subject'] = '电脑已开机,请查收截图' msg.attach(MIMEText('有人动了你的电脑...', 'plain')) with open(image_file, 'rb') as f: img_data = f.read() image = MIMEImage(img_data) image.add_header('Content-ID', '<image1>') msg.attach(image) try: server = smtplib.SMTP_SSL(smtp_server, 465) server.login(sender, password) server.sendmail(sender, receiver, msg.as_string()) server.quit() print("邮件发送成功") except Exception as e: print(f"发送失败: {e}") if __name__ == "__main__": photo = take_photo() send_email(photo) -
设置开机自启:
- Windows:将脚本编译成
.exe或创建快捷方式,放入「启动」文件夹(Win+R 输入shell:startup)。 - 或使用「任务计划程序」设置触发器为「计算机启动时」。
- Windows:将脚本编译成
常见问题
- Q:为什么没收到邮件?
A:检查是否开启了邮箱的 SMTP 服务并正确填写了「授权码」(不是登录密码);检查网络连接。 - Q:程序报错找不到摄像头?
A:确保摄像头未被其他软件占用,或检查Image.open(0)是否能识别你的设备索引。 - Q:如何隐藏黑框不被发现?
A:可以修改后缀名为.pyw运行,或者使用pyinstaller -wF main.py封装为无窗口程序。
下载地址
软件截图

请登录后发表评论
注册
停留在世界边缘,与之惜别