-----------------------
上一篇文章讲了如何用程序控制手机打卡,为消除一些强迫症小朋友的类似“我到底有没有打卡成功,我要不要回去看看”等焦虑情绪
这篇教你们打卡完成后给自己的QQ发邮件,收到打卡成功的消息。。。
--------------------------------------***-------------------------------------
首先需要获取qq邮箱的授权码
进入你的qq邮箱,点击左上角的“设置”:
在邮箱设置中选择“账户”:
滚动页面,来到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启POP3/SMTP服务:
按照提示获取授权码,授权码如下图所示:
其次,用python写编写发送邮件的代码;
# 导入需要的包,都是python自带的,不需要额外下载import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrdef mail(): '''编写发送邮件的代码''' # 发送方邮箱设置 my_sender = "xxxxxxx@" # 发送邮箱账号 my_pass = "xxxxxxxxxxxxxxxx" # 填写之前获得的16位授权码,注意中间没有空格 # 接收方邮箱设置,接收方邮箱和发送方邮箱可以是一个账号,相当于自己给自己发邮件 my_user = "xxxxxxx@" mail_title = "打卡信息" # 邮件标题 mail_content = "打卡成功" # 邮件内容 mail_format = 'plain' # 文字使用 'plain' ,网页则使用 'html' # 构造邮件,不需要修改 msg = MIMEText(mail_content, mail_format, 'utf-8') msg["From"] = formataddr(["发件人", my_sender]) msg["To"] = formataddr(["收件人", my_user]) msg["Subject"] = mail_title print("发送中... \n") # 发送邮件 try: server = smtplib.SMTP_SSL("smtp.", 465) # QQ的邮箱服务器,及端口号 server.login(my_sender, my_pass) # 登录 server.sendmail(my_sender, my_user, msg.as_string()) # 发送邮件 server.quit() # 退出 print("邮件发送成功") except Exception: print("邮件发送失败")
整合上一篇电脑控制手机的代码,完整代码如下;
import timeimport osimport smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrdef daka(): print(os.system('adb shell input keyevent 26')) # 打开电源键 time.sleep(1) print(os.system('adb shell input swipe 283 1022 283 500')) # 解锁 time.sleep(1) # 输入密码 print(os.system('adb shell input tap 258 833')) print(os.system('adb shell input tap 528 864')) print(os.system('adb shell input tap 515 1122')) print(os.system('adb shell input tap 505 1415')) print(os.system('adb shell input tap 534 1690')) time.sleep(1) # 退出可能存在的app界面 print(os.system('adb shell input tap 552 2197')) print(os.system('adb shell input tap 552 2197')) # print(os.system('adb shell input swipe 240 2390 280 1800')) time.sleep(1) # 向左滑动,次数为你的手机主页面一共的页面数 print(os.system('adb shell input swipe 200 1022 700 1022')) print(os.system('adb shell input swipe 200 1022 700 1022')) print(os.system('adb shell input swipe 200 1022 700 1022')) time.sleep(1) # 向右滑动,次数为滑动到钉钉应用位置所需的页面数 print(os.system('adb shell input swipe 700 1022 200 1022')) print(os.system('adb shell input swipe 700 1022 200 1022')) print(os.system('adb shell input tap 905 1113')) # 点击钉钉应用位置 time.sleep(3) # 退出钉钉 print(os.system('adb shell input tap 552 2197')) print(os.system('adb shell input tap 552 2197')) # print(os.system('adb shell input swipe 240 2390 280 1800')) print(os.system('adb shell input keyevent 26')) # 息屏def mail(): '''编写发送邮件的代码''' # 发送方邮箱设置 my_sender = "xxxxxxx@" # 发送邮箱账号 my_pass = "xxxxxxxxxxxxxxxx" # 填写之前获得的16位授权码,注意中间没有空格 # 接收方邮箱设置,接收方邮箱和发送方邮箱可以是一个账号,相当于自己给自己发邮件 my_user = "xxxxxxx@" mail_title = "打卡信息" # 邮件标题 mail_content = "打卡成功" # 邮件内容 mail_format = 'plain' # 文字使用 'plain' ,网页则使用 'html' # 构造邮件,不需要修改 msg = MIMEText(mail_content, mail_format, 'utf-8') msg["From"] = formataddr(["发件人", my_sender]) msg["To"] = formataddr(["收件人", my_user]) msg["Subject"] = mail_title print("发送中... \n") # 发送邮件 try: server = smtplib.SMTP_SSL("smtp.", 465) # QQ的邮箱服务器,及端口号 server.login(my_sender, my_pass) # 登录 server.sendmail(my_sender, my_user, msg.as_string()) # 发送邮件 server.quit() # 退出 print("邮件发送成功") except Exception: print("邮件发送失败")if __name__ == '__main__': daka() mail()
到这里就设置完成了,剩下的就交给电脑吧!!!
--------------------------------------***-------------------------------------
最后,python不光可以登陆qq邮箱给qq邮箱发邮件,登陆其他邮箱也是可以的哦,只不过同样需要获取发送方邮箱的授权码,只要获取了对应邮箱的授权码,就可以登陆并发送邮件啦,想给谁发就给谁发