def email_campaigns_status_changed(mutated_campaign_names, failed_campaign_names, status): if mutated_campaign_names or failed_campaign_names: email_cfg = cfg['email'] message = email_cfg['messages']['mutate'] body = message['body'].format(status, mutated_campaign_names, status, failed_campaign_names) gmail.send_mail(email_cfg['email'], email_cfg['password'], email_cfg['to'], message['title'], body) logging.info('Mutate notice sent in email')
def email_alert(installs_count): email_cfg = cfg['email'] if installs_count > cfg['params']['email_alert']: message = email_cfg['messages']['alert'] body = message['body'].format(installs_count, cfg['params']['lookback']) gmail.send_mail(email_cfg['email'], email_cfg['password'], email_cfg['to'], message['title'], body) logging.info('Alert sent in email')
def mutate(self, info, recipient, subject, body, password): if password != secret.mail_service_password: # Check password return SendMail(exitcode=2, msg="authentication error") result = gmail.send_mail(recipient, subject, body) if result["exitcode"] == 0: return SendMail(exitcode=0) return SendMail(exitcode=3, msg=result["msg"])
def async_send_email(): selected = listbox.curselection() for index, repo in enumerate(github.repos): if index not in selected: continue log_message(f"Repository: {repo.name}") for name, email in repo.gazers: log_message(f"Sending to \'{name}\' ({email})") email_text = settings.email_text.format(settings.gmail_user, email, repo.name, name, repo.name, repo.url) gmail.send_mail(email, email_text) github.mark_as_sent(repo.url, email) log_message("Saving sent emails...") github.save_data() log_message("Done sending emails!") refresh_repos()
def main(): old_table = read_table() while 1: new_table = parse_table(billid=BILLID).prettify().replace('\r', '') if new_table != old_table: # print('不同') # t = f"{get_color('31;1')}{'狀態變動!'}{get_color(0)}" # now(t) send_mail(subject='黑貓狀態變動!', content=str(new_table), isHtml=True) send_line(text='黑貓狀態變動!' + ' ' + URL, token=CHANNEL_ACCESS_TOKEN) # t = f"{get_color('32;1')}{'寄信完成!'}{get_color(0)}" # now(t) write_table(new_table) old_table = new_table else: t = time.strftime("%H:%M:%S", time.localtime()) if t[-2:] in ['00', '01']: send_line(text='alive', token=CHANNEL_ACCESS_TOKEN_2) time.sleep(1)
info_torrent = info_torrent + '\n[' + str(i + 1) + '] ' + torrentname all_downloaded = False if all_downloaded == True: info = info_time + ' Todo descargado' else: info = info_time + ' Nuevos torrents!!!' + info_torrent info_email = info_torrent + '\n\nEspacio en Disco: %.2f' % disk_space(dir_down) + 'GB' if (disk_space(dir_down) <= Settings.space_alert): print 'Hay poco espacio en disco!: %.2f' % disk_space(dir_down) + 'GB' info_email = info_email + '\nHay poco espacio disponible!!!' print info if Settings.email_enabled == True and all_downloaded == False: import gmail email_user = Settings.email_user email_pwd = Settings.email_pwd email_dst = Settings.email_dst for send_to in email_dst: gmail.send_mail(email_user, email_pwd, send_to, 'Rpi: nuevos episodios!!!', info_email) if Settings.log_enabled == True: log_file = path + '/showrssd.log' mylog = open(log_file, 'a') mylog.write(info + '\n') mylog.close
# -*- coding: utf-8 -*- import gmail try: print('Aguarde, enviando Email...') send_from = '*****@*****.**' password = '******' send_to = ['*****@*****.**'] subject = 'Email enviando pelo Python' text = 'Aqui fica a mensagem principal' #files = ['/pasta/arquivo_a_ser_enviado_em_anexo'] gmail.send_mail(send_from, password, send_to, subject, text) print('Email enviado !!!') except IOError: print('sem rede')
Extension: %s Fecha de última modificacion: %s Owner: %s Visibilidad: %s """ % (file['name'], ext, file['modifiedTime'], file['owners'][0]['displayName'], 'privado') if 'permissions' and 'permissionIds' in file: """ Determina si el archivo posee visibilidad pública (pública general o pública mediante link). """ if ('anyone' in file['permissionIds']) or ('anyoneWithLink' in file['permissionIds']): if 'anyone' in file['permissionIds']: remove_permission(service, file['id'], 'anyone') else: remove_permission(service, file['id'], 'anyoneWithLink') """ En ambos casos se elimina el permiso de visilibidad 'público' y se envía un correo al owner del archivo notificando el cambio. Se setea una flag en True para determinar que el archivo fue público en algún momento. """ send_mail(message, file['owners'][0]['emailAddress']) flag_vis = 1 else: flag_vis = 0 """ Inserta el archivo con los datos pertinentes en la Base de Datos. """ file_inst.insert_file(file['id'], name, ext, file['owners'][0]['displayName'], 'privado', file['modifiedTime'], flag_vis) else: print('No se puede almacenar este archivo en la Base de Datos debido a que carece de permisos ' 'suficientes para el usuario.') print(" ") else: print('El archivo con nombre "', name, '" ya se encuentra cargado en la BD') print('Procederemos a verificar si se realizó alguna modificación en el archivo') if 'permissionIds' in file:
Visibilidad: %s """ % (file['name'], ext, file['modifiedTime'], file['owners'][0]['displayName'], 'privado') if 'permissions' and 'permissionIds' in file: """ Determina si el archivo posee visibilidad pública (pública general o pública mediante link). """ if ('anyone' in file['permissionIds']) or ( 'anyoneWithLink' in file['permissionIds']): if 'anyone' in file['permissionIds']: remove_permission(service, file['id'], 'anyone') else: remove_permission(service, file['id'], 'anyoneWithLink') """ En ambos casos se elimina el permiso de visilibidad 'público' y se envía un correo al owner del archivo notificando el cambio. Se setea una flag en True para determinar que el archivo fue público en algún momento. """ send_mail(message, file['owners'][0]['emailAddress']) flag_vis = 1 else: flag_vis = 0 """ Inserta el archivo con los datos pertinentes en la Base de Datos. """ file_inst.insert_file(file['id'], name, ext, file['owners'][0]['displayName'], 'privado', file['modifiedTime'], flag_vis) else: print( 'No se puede almacenar este archivo en la Base de Datos debido a que carece de permisos ' 'suficientes para el usuario.') print(" ") else: print('El archivo con nombre "', name,
def activityDetection(second): key = 1 while True: print("detection is workin") ret, im = cam.read() if key == 1: control = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) cv2.imwrite("motion/control.jpg",control) cv2.imwrite("motion/now.jpg", im) key = 0 cv2.imwrite("motion/now.jpg", im) now = cv2.imread("motion/now.jpg", 0) similarity = cv2.matchTemplate(control, now, cv2.TM_CCOEFF_NORMED) print("Similarity: " + str(similarity[0][0])) if (similarity[0][0] >= 0.93): print("Safe") else: print("unSafe") cv2.imwrite("motion/UFO.jpg",now) ######## confirmation = 0 unknownCounter = 0 w = time.time() q = w print("Face Detection is working") while True: ret, im = cam.read() gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) faces = faceCascade.detectMultiScale(gray, 1.2, 5) for (x, y, w, h) in faces: cv2.rectangle(im, (x, y), (x + w, y + h), (225, 0, 0), 2) Id, conf = recognizer.predict(gray[y:y + h, x:x + w]) if (conf < 50): print(camm.user(Id)) name = camm.user(Id) if camm.user(Id) == camm.user(Id): confirmation = confirmation + 1 else: Id = 0 name = "Unknown" unknownCounter = unknownCounter + 1 print("Unknown") cv2.putText(im, str(name), (x, y + h), cv2.FONT_HERSHEY_COMPLEX, 2, (255, 0, 0), 2) ##cv2.imshow('SecurityCam',im) if confirmation >= 10 and str(camm.user(Id)) == camm.user(Id): print("You are " + camm.user(Id)) print(time.time() - q) print("cam stop") break elif unknownCounter >= 50: print("I don't know you!") calendar = str(time.localtime()[0]) + "." + str(time.localtime()[1]) + "." + str(time.localtime()[2]) cv2.imwrite("unknown/" + calendar + ".jpg",im) gmail.send_mail(calendar) print("Face Detection stop") break if cv2.waitKey(10) & 0xFF == ord('q'): break ######## print("Motion Detection sleep for "+ str(second) + " seconds") sleep(second)