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)
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
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
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
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
def try_run(): MailSender.send("*****@*****.**", "hehe", content, [])
def send_ad(qqnums): for qq in qqnums: mail = qq if '@' not in mail: mail = mail + "@qq.com" MailSender.send(mail, "hehe", content, [])