关于python骚操作,电脑登录进行邮件发送

再次更新一篇文章(最近纯属无聊)

背景:大概在19年3月份左右吧,当时做了一个仓库管理系统,每次利用代码运行才能正常使用本机电脑做服务,怕电脑被关机,别人不会启用,虽然有文档,当时就骚操作利用windows自带任务写了一个脚本自动运行,太久了忘了

前段时间呢,又开始瞎研究起来,因为有当时的骚操作,脑子里又出现另外一个骚操作,再整点事情呗

思路:windows任务+bat脚本+python发送邮件,实现电脑登录自动实现发送邮件

python邮件发送:

需要163或者QQ之类的邮箱开通SMTP服务,我用到的是163邮箱作为发送邮箱,在邮箱设置中开通POP3/SMTP服务,如图:

后续的话就是准备python发送邮件的代码了,代码部分如下:

import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
import timeif __name__=='__main__':fromaddr='*****@163.com'#发送password='*****'# 读取接收文件的邮箱,邮箱单独一行f=open(r'F:\run\toemail.txt', 'r')list1=f.readlines()for i in range(len(list1)):list1[i]=list1[i].strip('\n')f.close()toaddrs=list1#用toemail.txt维护发送邮箱,也可以直接用下面列表写死收集人邮箱#toaddrs=['*****@qq.com','*****@dingtalk.com']#接收list,用','.join(toaddrs)subject = '邮件提示'#content='hello,this is email content'#内容date2 = (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))content="电脑已登录,登录时间:"+date2# 打开文件,同目录下新建test.txt文件,存发历史数据fo = open("test.txt", "r+")#print ("文件名: ", fo.name)# 在文件末尾写入一行fo.seek(0, 2)line = fo.write( content + '\n')fo.close()'''fo.seek(0,0)for index in range(6):line = next(fo)print ("文件行号 %d - %s" % (index, line))'''# 格式也可以用拉易网,我偷懒没弄# 拉易网:https://www.drageasy.com/services.htmltextApart2 =MIMEText(str(content)+'\n历史登录记录可查看附件.')textFile='test.txt'textApart=MIMEApplication(open(textFile,'rb').read())#textApart=MIMEText(open(r'F:\run\test.txt', 'rb').read(), 'base64', 'utf-8')textApart.add_header("Content-Disposition",'attachment',filename=textFile)m = MIMEMultipart()#m.attach(content, 'plain', 'utf-8')m.attach(textApart)m.attach(textApart2)m['Subject'] = Header(u'您电脑已被登录', 'utf8').encode()m['From'] = fromaddrm['To'] = ','.join(toaddrs)try:server = smtplib.SMTP('smtp.163.com',25)#打印发送过程#server.set_debuglevel(1)server.login(fromaddr,password)server.sendmail(fromaddr, toaddrs, m.as_string())#发送成功#print('success')server.quit()except smtplib.SMTPException as e:print('error:',e) #打印错误

可以把#print('success')注释拿掉进行测试发送,查看是否能接收到

bat脚本

邮件发送没有问题后,后面就是准备bat脚本文件,用来执行代码

脚本如下:

@echo off  
cmd/c  "cd/d F:\run &&python 7.py"
@exit

“cd/d F:\run &&python 7.py” cd/d 后面的python邮件发送的目录,&&后面是执行python邮件发送,我命名是7.py(我比较随意)

cmd/c执行结束后会关闭cmd窗口,如果不需要关闭,可以把/c换成/k

双击脚本,校验是否执行成功

windows任务

右击电脑--点击属性--点击任务计划程序

可以创建基本任务,也可以选择创建任务

创建任务,选择只在用户登录时运行,选择触发器,新建触发器,根据自己需求进行维护(记得勾选已启用哦,我自己的禁用了任务)

选择操作,新建操作,进行选择bat执行python发送邮件处理的脚本

选择条件,勾选电源下的选项

后续还有设置中几个选项,根据情况进行勾选确认即可。

测试

任务新建完成后,win键+L进行锁屏,然后进行登录,查看是否发送邮件

纯属娱乐~有兴趣的可以尝试一下哦~


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部