可以监控文件夹文件的变化,配置文件中设置发件邮箱及要监控的文件夹路径,存放日志的路径,接收通知的邮箱(最后一行开始往下放,一行一个邮箱,理论无限个,测试二十多个邮箱正常发送)。! b! H( X+ J5 S: ?- \
1 R' t2 O/ C2 Z, O2 R; @
运行软件后同目录下会多出一个傻瓜监测日志.log用以存放控制台输出的显示,傻瓜检测报错.log用以存放控制台输出的报错(报错日志是追加,显示日志是覆盖)在日志存放路径会生成当前年份的文件夹,第二次运行的话会把上一次的给打包成压缩包。减少空间占用。
) o( O" K& e @, w( T- S# }7 D if os.path.getsize(lujing + '\\wjjcha.txt') or os.path.getsize(lujing + '\\wjcha.txt'):
print('指定的文件不为空')
wjjzhengwen = ''
wjzhengwen = ''
if os.path.getsize(lujing + '\\wjjcha.txt'):
with open(lujing + '\\wjjcha.txt', "r") as f: # 打开文件
wjjneirong = f.read() # 读取文件
wjjzhengwen = '新增的文件夹为:\n' + wjjneirong
if os.path.getsize(lujing + '\\wjcha.txt'):
with open(lujing + '\\wjcha.txt', "r") as f: # 打开文件
wjneirong = f.read() # 读取文件
wjzhengwen = '新增的文件为:\n' + wjneirong
youjianzhengwen = wjjzhengwen + wjzhengwen
try:
message = MIMEText(youjianzhengwen, 'plain',
'utf-8')
message['From'] = Header("文件管理员", 'utf-8')
message['To'] = Header("你", 'utf-8')
subject = '共享文件夹发生了变化'
message['Subject'] = Header(subject, 'utf-8')
smtpObj = smtplib.SMTP()
smtpObj.connect(peizhilist[1], 25) # 25 为 SMTP 端口号
smtpObj.login(peizhilist[3], peizhilist[5])
smtpObj.sendmail(peizhilist[7], shoulist, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件") 如果上一分钟检测到文件变化发了邮件,这次就会退出不检测。(因为发的太快邮件会出错发不出去或者卡住),切记别把最后一次运行的文件夹给删掉,检测到日志目录存在但是找不到对比的日志存在会报错的(可以把以前的文件夹解压出来解决,只要能有一个对比的日志就不会报错)。
4 ?( `2 y2 C9 {2 `4 J' i
+ P/ `; g; z: Y$ ?! d; h4 Y# x' \$ K. L0 a
|