可以监控文件夹文件的变化,配置文件中设置发件邮箱及要监控的文件夹路径,存放日志的路径,接收通知的邮箱(最后一行开始往下放,一行一个邮箱,理论无限个,测试二十多个邮箱正常发送)。/ t2 Y0 x1 W- M0 M$ U, z
. Q) u3 J1 j7 P' G1 R" @) J' [ 运行软件后同目录下会多出一个傻瓜监测日志.log用以存放控制台输出的显示,傻瓜检测报错.log用以存放控制台输出的报错(报错日志是追加,显示日志是覆盖)在日志存放路径会生成当前年份的文件夹,第二次运行的话会把上一次的给打包成压缩包。减少空间占用。) h2 w3 g1 I% s9 s) ]
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: 无法发送邮件") 如果上一分钟检测到文件变化发了邮件,这次就会退出不检测。(因为发的太快邮件会出错发不出去或者卡住),切记别把最后一次运行的文件夹给删掉,检测到日志目录存在但是找不到对比的日志存在会报错的(可以把以前的文件夹解压出来解决,只要能有一个对比的日志就不会报错)。
( y0 O/ w! O) |" g+ t 7 y M4 w4 B1 f6 H2 {7 n
3 D8 \/ n4 C: e
|