学习记录:python每天发送邮件提示还有多少天才发工资

实现一个每天发邮件提示,距离下个月发工资还有多少天

import time
import datetime
import calendar
import zmail

def now_zmail():
    mail_content = {
    
    
    'subject':'**__打工人__** 你好!',
    'content_text':'这个月还剩下:'+str(over_time)+'天'+'\n'+'距离发工资的时间:'+str(money_time)+'天', #邮件内容
    }
    #使用哪个邮箱发送邮件
    server = zmail.server('账号@qq.com','授权码')
    #发送给目标账号邮件
    server.send_mail('账号@qq.com',mail_content)
    print('发送成功!')


def demo():
    global now_time, over_time, money_time
    now_time = time.strftime("%Y", time.localtime())
    year = int(now_time)
    if (year % 4) == 0 and (year % 100) != 0 or (year % 400) == 0:
        print('{0}是闰年'.format(year))

        now_time = time.strftime("%m", time.localtime())
        # 判断月份
        if now_time == '01':
            a = calendar.mdays[1]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5 
            now_zmail()

        elif now_time == '02':
            a = calendar.mdays[2]
            #print('这个是当前月的天数:'+str(a))
            now_time = time.strftime("%d", time.localtime())
            #print('这是当前时间的天数:'+str(now_time))
            over_time = int(a) - int(now_time)
            #print('这个月还剩下:'+str(over_time)+' 天')
            money_time = int(over_time) + 5
            #print('距离发工资的时间:',str(money_time))
            now_zmail()
        elif now_time == '03':
            a = calendar.mdays[3]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '04':
            a = calendar.mdays[4]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '05':
            a = calendar.mdays[5]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '06':
            a = calendar.mdays[6]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '07':
            a = calendar.mdays[7]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '08':
            a = calendar.mdays[8]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '09':
            a = calendar.mdays[9]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '10':
            a = calendar.mdays[10]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '11':
            a = calendar.mdays[11]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '12':
            a = calendar.mdays[12]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()

    else:
        print('{0}不是闰年'.format(year))
        
        now_time = time.strftime("%m", time.localtime())
        # 判断月份
        if now_time == '01':
            a = calendar.mdays[1]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()

        elif now_time == '02':
            a = calendar.mdays[2]
            #print('这个是当前月的天数:'+str(a))
            now_time = time.strftime("%d", time.localtime())
            #print('这是当前时间的天数:'+str(now_time))
            over_time = int(a) - int(now_time)
            #print('这个月还剩下:'+str(over_time)+' 天')
            money_time = int(over_time) + 5
            #print('距离发工资的时间:',str(money_time))
            now_zmail()
        elif now_time == '03':
            a = calendar.mdays[3]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '04':
            a = calendar.mdays[4]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '05':
            a = calendar.mdays[5]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '06':
            a = calendar.mdays[6]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '07':
            a = calendar.mdays[7]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '08':
            a = calendar.mdays[8]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '09':
            a = calendar.mdays[9]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '10':
            a = calendar.mdays[10]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '11':
            a = calendar.mdays[11]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()
        elif now_time == '12':
            a = calendar.mdays[12]
            now_time = time.strftime("%d", time.localtime())
            over_time = int(a) - int(now_time)
            money_time = int(over_time) + 5
            now_zmail()

def time_judge():
    now_time_up = datetime.datetime.strptime(str(datetime.datetime.now().date())+'10:00', '%Y-%m-%d%H:%M')
    now_time_down =  datetime.datetime.strptime(str(datetime.datetime.now().date())+'18:01', '%Y-%m-%d%H:%M')

        # 获取当前时间
    n_time = datetime.datetime.now()
        
    # 判断当前时间是否在范围时间内
    if n_time > now_time_up and n_time < now_time_down:
        demo()

def demo_start():
    while 1 == 1:
        print('程序开始运行')
        time_judge()
        print('程序执行完,延时开始')
        time.sleep(57600)

demo_start()

2021-02-26 上面这个不好用。。。重新写了个

import time
import zmail
import datetime
import calendar
import schedule

def onedayday():
    global over_time, money_time
    now_time = time.strftime("%m", time.localtime())
    if now_time == '01':
        a = calendar.mdays[1]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '02':
        a = calendar.mdays[2]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()  
    elif now_time == '03':
        a = calendar.mdays[3]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '04':
        a = calendar.mdays[4]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '05':
        a = calendar.mdays[5]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '06':
        a = calendar.mdays[6]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail() 
    elif now_time == '07':
        a = calendar.mdays[7]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '08':
        a = calendar.mdays[8]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '09':
        a = calendar.mdays[9]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '10':
        a = calendar.mdays[10]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '11':
        a = calendar.mdays[11]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '12':
        a = calendar.mdays[12]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()

def now_zmail():
    mail_content = {
    
    
    'subject':'**__打工人__** 你好!',
    'content_text':'这个月还剩下:'+str(over_time)+'天'+'\n'+'距离发工资的时间:'+str(money_time)+'天', #邮件内容
    }
    #使用哪个邮箱发送邮件
    server = zmail.server('账号@qq.com','邮箱授权码'')
    #发送给目标账号邮件
    server.send_mail('账号@qq.com',mail_content)

schedule.every().day.at("9:30").do(onedayday) # 每天10:30执行一次任务

while True:
    schedule.run_pending()
    time.sleep(1)

下载PyInstaller打包库
利用pip install PyInstaller 打包exe程序
pyinstaller -F -w mycode.py (-w就是取消窗口)

把打包exe放在 win的所有程序,启动目录下,明天开机就会自动运行程序,或者自行打开一直挂着,就能每天都收到邮件了

2021-02-28 加个弹窗

import time
import zmail
import datetime
import calendar
import schedule
import tkinter as tk
from tkinter import messagebox

def start_go():
    window = tk.Tk()
    window.withdraw() 	
    messagebox.showinfo("发工资时间","程序已启动")

def onedayday():
    global over_time, money_time
    now_time = time.strftime("%m", time.localtime())
    if now_time == '01':
        a = calendar.mdays[1]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '02':
        a = calendar.mdays[2]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()  
    elif now_time == '03':
        a = calendar.mdays[3]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '04':
        a = calendar.mdays[4]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '05':
        a = calendar.mdays[5]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '06':
        a = calendar.mdays[6]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail() 
    elif now_time == '07':
        a = calendar.mdays[7]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '08':
        a = calendar.mdays[8]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '09':
        a = calendar.mdays[9]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '10':
        a = calendar.mdays[10]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '11':
        a = calendar.mdays[11]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()
    elif now_time == '12':
        a = calendar.mdays[12]
        now_time = time.strftime("%d", time.localtime())
        over_time = int(a) - int(now_time)
        money_time = int(over_time) + 10
        now_zmail()

def now_zmail():
    mail_content = {
    
    
    'subject':'**__打工人__** 你好!',
    'content_text':'这个月还剩下:'+str(over_time)+'天'+'\n'+'距离发工资的时间:'+str(money_time)+'天', #邮件内容
    }
    #使用哪个邮箱发送邮件
    server = zmail.server('邮箱@qq.com','授权码')
    #发送给目标账号邮件
    server.send_mail('邮箱@qq.com',mail_content)

start_go()

schedule.every().day.at("9:30").do(onedayday) 

while True:
    schedule.run_pending()
    time.sleep(1)

猜你喜欢

转载自blog.csdn.net/qq_26086231/article/details/113917323