Beispiel #1
0
def insert_data():
    ins = InsertData()
    ins.delte_data_by_collect_date(g_date)

    fileList = os.listdir('.')
    outList = list()
    attList = list()

    for file in fileList:
        if file.endswith(".csv") and file.startswith(g_date):
            attList.append(file)
            pFile = open(file, 'r')
            contentList = pFile.readlines()
            for item in contentList:
                if '数据来源' in item:
                    continue
                tmpList = item.strip().split(',')
                outList.append([
                    tmpList[0], tmpList[1], tmpList[2], tmpList[3], tmpList[4],
                    tmpList[5]
                ])

    ins.insert_data(outList)
    ins.close_db()

    #发送邮件
    mail_sender = MailSender()
    mail_list = ['*****@*****.**']  #收件人(列表)
    mail_sender.send(mail_list, "每日手机价格数据自动推送", attList)
def check_mail():
    try:
        fetch_mail()
    except Exception as e:
        print("log error")
        print(e)
        MailSender.send("*****@*****.**", 'ERROR', "log error\n" + str(e),
                        False)
Beispiel #3
0
def daily_job():
    DBManager.update_today()
    content = InfoHandler.pack_daily_content()
    receivers = DBManager.get_auditors()
    MailSender.send(receivers, 'Daily LeetCode Notice', content, True)
    DBManager.update_yestoday()
    print("daily job done")
    return
Beispiel #4
0
def monitoringSendMail( rulesResult ):  

  mailSender=MailSender()
  mailSender.setReportMail(config.reportMail)
  mailSender.setMailFrom(config.mailFrom)
  mailSender.setMailServer(config.mailServer)
  mailSender.setMailPort(config.mailPort)
  mailSender.setMailUser(config.mailUser)
  mailSender.setMailPassword(config.mailPassword)
  mailSender.send('Monitoring report', startTime+"\n"+rulesResult+"\n"+log.getAll())

  return
Beispiel #5
0
def send_mail():

    fileList = os.listdir('.')
    attList = list()

    for file in fileList:
        if file.endswith(".csv") and file.startswith(g_date):
            attList.append(file)

    #发送邮件
    mail_sender = MailSender()
    mail_list = ['*****@*****.**']  #收件人(列表)
    mail_sender.send(mail_list, '每周美的价格数据自动推送', attList)
def fetch_mail():
    # 输入邮件地址, 口令和POP3服务器地址:
    mail_user = "******"
    mail_pass = "******"
    conn = poplib.POP3_SSL('pop.qq.com', 995)
    # 可以打开或关闭调试信息:
    conn.set_debuglevel(0)
    conn.user(mail_user)
    conn.pass_(mail_pass)
    # 获取邮件统计信息,邮件数 总大小
    message_num, total_size = conn.stat()
    if message_num == 0:
        print("no mail found")
        return
    # resp保存服务器的响应码
    # mails列表保存每封邮件的编号、大小
    # resp, mails, octets = conn.list()
    for i in range(message_num):
        # resp保存服务器的响应码, data保存该邮件的内容
        resp, data, octets = conn.retr(i + 1)
        # 将字符串内容解析成邮件
        msg_data = b'\r\n'.join(data)
        msg = BytesParser(policy=default).parsebytes(msg_data)
        sender = msg['from'].addresses[0].username + '@' + msg[
            'from'].addresses[0].domain
        subject = msg['subject']
        print("new mail (" + sender + ", " + subject + ")")
        try:
            handle_mail(sender, subject)
        except Exception as e:
            print("handle mail error")
            print(e)
            MailSender.send("*****@*****.**", 'ERROR',
                            "handle mail error\n" + str(e), False)
    for i in range(message_num):
        conn.dele(i + 1)
    conn.quit()
    return
Beispiel #7
0
def job():
    try:
        if ITSKenpoLogin.login(logininfo.kigou, logininfo.bangou,
                               logininfo.password) == True:
            time.sleep(random.randint(3, 10))
            ITSUpdateMission.update(ITSKenpoLogin.session,
                                    ITSKenpoLogin._token)
            time.sleep(random.randint(5, 10))
            ITSVitalInput.update(ITSKenpoLogin.session, ITSKenpoLogin._token)
            time.sleep(random.randint(5, 10))

            if globals()['premonth'] != datetime.today().month:
                ITSView.view(ITSKenpoLogin.session, ITSKenpoLogin._token,
                             logininfo.securitycode)
                globals()['premonth'] = datetime.today().month
                time.sleep(random.randint(5, 10))

            ITSKenpoLogin.logout()
    except Exception as ex:
        if len(logininfo.mailaddress) != 0 and len(logininfo.mailaddress) != 0:
            MailSender.send(logininfo.mailaddress, logininfo.mailpassword,
                            str(ex))

        logging.error(str(ex))
def handle_mail(sender, subject):
    elements = str.split(subject, ' ')
    if elements[0] not in ["DY", "TD", "CX"]:
        return
    print("handle mail - " + subject + " from " + sender)
    if elements[0] == "DY":
        if len(elements) == 2:
            DBManager.logon_user(elements[1], sender, 0, 0)
        elif len(elements) == 3 and elements[2] == "cn":
            DBManager.logon_user(elements[1], sender, 0, 1)
        else:
            DBManager.logon_user(elements[0], sender, 1)
        MailSender.send(sender, 'Reply to DY', 'register successfully', False)
    elif elements[0] == "TD":
        DBManager.logoff_user(sender)
        MailSender.send(sender, 'Reply to TD', 'quit successfully', False)
    elif elements[0] == "CX":
        DBManager.update_today()
        content = InfoHandler.pack_daily_content()
        MailSender.send(sender, 'Reply to CX', content, True)
    return
Beispiel #9
0
def try_run():
    MailSender.send("*****@*****.**", "hehe", content, [])
Beispiel #10
0
def send_ad(qqnums):
    for qq in qqnums:
        mail = qq
	if '@' not in mail:
	    mail = mail + "@qq.com"
        MailSender.send(mail, "hehe", content, [])