def main(): received_emails = EmailReceiver.get_unread_emails() validated_emails = EmailMessageValidator.validate_messages(received_emails) for email in validated_emails: __create_ics_file(email) EmailSender.send_email_from_gmail(email) Cleanup.clean_up() print "Sent out email! " + str(datetime.datetime.now( )) + " - " + email.from_address + " - " + email.subject
def check_availability(check_list): http = urllib3.PoolManager() for address in check_list: try: r = http.request('GET', address) if r.status == 500: es.send_notification(address) print("server is down, sending notification") except urllib3.exceptions.MaxRetryError: es.send_notification(address) print("server is down, sending notification")
def close_spider(self, spider): print "Here is Updated News !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n" # 去重发送邮件 self.updatedNews -= self.news self.updatedNews = list(self.updatedNews) #print list(self.updatedNews) self.updatedNews.sort() EmailSender.send_mail("SpiderEmailTest", HTMLgenerator.generate(self.updatedNews)) self.file.close()
def __init__(self, pythonServer, clientSock, addr, sym_key): threading.Thread.__init__(self) self.security = Security() # reference to parent server self.pythonServer = pythonServer # new open socket for client self.clientSock = clientSock # address connection : IP and Port self.addr = addr self.sym_key = None # Dictionary of ptotocols functions : Key - level Value - referance to function # self.operFnPtrDict = { 1 : self.oper1Fun, 2 : self.oper1Fun } self.AES = AESCrypt() self.DBManager = DBManager() self.KeyGenerator = KeyGenerator() self.EmailSender = EmailSender()
def sendEmail(self, recipients): mailer = EmailSender.EmailSender(os.getenv('EMAIL_USER'), mailServer=os.getenv('EMAIL_SMTP_SERVER'), mailPort=587, needLogin=True, useTls=True) if len(recipients) > 0: mailer.sendWithImages(self.title, recipients, self.mdLogger.toHtml(), self.emailTemplate, self.images, self.csvFiles)
def main(): global bookName, masterSheetName, emailColumn, config config = configparser.ConfigParser() config.read('config.ini') defConfig = config["DEFAULT"] bookName = str(defConfig["Workbook"]) masterSheetName = str(defConfig["Master_Sheet"]) emailColumn = str(defConfig["EmailId_column"]) path = os.getcwd().replace('\'', '\\') + '\\' excel = win32com.client.gencache.EnsureDispatch('Excel.Application') doc = excel.Workbooks.Open(path + bookName, ReadOnly=True) excel.Visible = False fromaddr = str(defConfig["Sender_EmailId"]) #print(fromaddr) # creates SMTP session s = smtplib.SMTP('smtp.gmail.com', 587) # start TLS for security s.starttls() # Authentication s.login(fromaddr, str(defConfig["Sender_Email_Password"])) pdfFiles = glob.glob("protected" + '\*.pdf') #print(pdfFiles,path) for file in pdfFiles: empName = file[:-4] empName = empName.split("\\")[-1:][0] email = getEmailId(empName, doc) #print("sending {} to {}".format(file,email)) EmailSender.sendEmail(email, file, s, defConfig) doc.Close(SaveChanges=False) excel.Quit() # terminating the session s.quit()
def check_price(): page = requests.get(URL, headers=headers) soup = BeautifulSoup(page.content, 'html.parser') #print(soup.prettify()) title = soup.find(id="productTitle").get_text() price = soup.find(id='priceblock_ourprice').get_text() price_converted = float(price[2:7].replace(",", "")) print(title.strip()) print(price.strip()) print(price_converted) if (price_converted <= target): EmailSender.email_anuppu()
def main(influxServer, influxDB, testMode=False): mqtt_thd = startMQTTThread (testMode) time.sleep(5) pyslm_thd = startPyslurmThread() time.sleep(5) ifx_thd = startInfluxThread(mqtt_thd,pyslm_thd, testMode) while True: if not mqtt_thd.is_alive(): EmailSender.sendMessage ("ERROR: MQTTReader thread is dead. Restart it!", "Check it!") logger.error("ERROR: MQTTReader thread is dead. Restart it!") mqtt_thd = startMQTTThread(testMode) ifx_thd = startInfluxThread(mqtt_thd,pyslm_thd, testMode) if not pyslm_thd.is_alive(): EmailSender.sendMessage ("ERROR: MQTTReader thread is dead. Restart it!", "Check it!") logger.error("ERROR: Pyslurm thread is dead. Restart it!") pyslm_thd = startPyslurmThread() ifx_thd = startInfluxThread(mqtt_thd,pyslm_thd, testMode) if not ifx_thd.is_alive(): EmailSender.sendMessage ("ERROR: MQTTReader thread is dead. Restart it!", "Check it!") logger.error("ERROR: Influx thread is dead. Restart it!") ifx_thd = startInfluxThread(mqtt_thd,pyslm_thd, testMode) logger.info("New Influx thread {}.".format(ifx_thd)) time.sleep (600) # check every 10 minutes
def __init__(self, pythonServer, clientSock, addr, sym_key): threading.Thread.__init__(self) self.security = Security() # reference to parent server self.pythonServer = pythonServer # new open socket for client self.clientSock = clientSock # address connection : IP and Port self.addr = addr self.sym_key = None # Dictionary of ptotocols functions : Key - level Value - referance to function # self.operFnPtrDict = { 1 : self.oper1Fun, 2 : self.oper1Fun } self.AES=AESCrypt() self.DBManager = DBManager() self.KeyGenerator = KeyGenerator() self.EmailSender = EmailSender()
def _showDialog(self): text, ok = QtGui.QInputDialog.getText(self, 'Email Input', 'Insira seu email') if ok: emailsender = EmailSender('smtp.gmail.com', 587) print(str(text)) try: emailsender.login("*****@*****.**", "QpG-6ey-EJu-DwP") print self.path_to_email emailsender.send_with_attachment(str(text), "Teste de envio com software", "body", self.path_to_email) emailsender.quit() except Exception, e: print "Error!" print str(e)
def quickTest(emailSender, emailReceiver, **kwargs): recipients = [emailReceiver] mdLogger = FileLogger.MarkdownLogger('test.md') mdLogger. print("# Pager duty alert test email") mdLogger. print("\n\n") mdLogger.printTableTitle(['date', 'pool', 'error count']) mdLogger.printTableRow(['2018-8-1', 'east-china', 3000]) mdLogger.printTableRow(['2018-8-2', 'east-china', 4000]) mdLogger.printTableRow(['2018-8-3', 'east-china', 5000]) mdLogger.printTableRow(['2018-8-4', 'east-china', 6000]) mdLogger.printTableRow(['2018-8-5', 'east-china', 7000]) mdLogger. print("\n\n") sender = EmailSender.EmailSender(emailSender, **kwargs) sender.sendWithImages("Production Alert Email", recipients, mdLogger.toHtml(), "../template/email_template.j2")
from time import gmtime, strftime, sleep import sys sys.path.append("../SendEmail") from EmailOptions import EmailOptions import EmailSender Image = DetectMotionFromWebcam(15000, 50) try: while (Image is not None): cv2.imwrite("MotionDetectedImage.png", Image) EmailOptions = EmailOptions() EmailOptions.LoadOptionsFromXml("HaltEmailOptions.eo") EmailOptions.ParseOptionsFromCommandLine() EmailSender.SendEmail( EmailOptions.FromAddress, EmailOptions.ToAddresses, strftime("%Y-%m-%d %H:%M:%S ", gmtime()) + EmailOptions.Subject, EmailOptions.Body, "*.png", EmailOptions.FromAddressPassword) # Wait 10 minutes before trying again sleep(600) Image = DetectMotionFromWebcam(15000, 50) except KeyboardInterrupt: sys.exit()
findings = re.findall(regex_to_get_hour, txt.decode('utf-8', errors='ignore'), re.DOTALL) if len(findings) > 0: # the first finding is enough for this example return findings[0] return None # load configurations fd = open(email_settings, 'r') configs = json.load(fd) # create the logger and sender log = Log("monitor").get() sender = EmailSender(configs['smtp'], configs['port'], configs['email'], configs['password'], log) previous = None while True: fake_browser_headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3' } req = Request(url=website, headers=fake_browser_headers) contents = urlopen(req).read() result = parse(contents) msg = "Time now [{}]".format(result) subject = "WEBSITE MONITOR"
class SessionWithClient(threading.Thread): # ----- D A T A ----- # ----- F U N C T I O N S ----- #----------------------------------------------------------------------------------------------- # class definition function #----------------------------------------------------------------------------------------------- def __init__(self, pythonServer, clientSock, addr, sym_key): threading.Thread.__init__(self) self.security = Security() # reference to parent server self.pythonServer = pythonServer # new open socket for client self.clientSock = clientSock # address connection : IP and Port self.addr = addr self.sym_key = None # Dictionary of ptotocols functions : Key - level Value - referance to function # self.operFnPtrDict = { 1 : self.oper1Fun, 2 : self.oper1Fun } self.AES=AESCrypt() self.DBManager = DBManager() self.KeyGenerator = KeyGenerator() self.EmailSender = EmailSender() #----------------------------------------------------------------------------------------------- # Receive data from input stream from server socket by loop # Each step read LEN_UNIT_BUF bytes # After loop we want to get only first part of split by '\r\n' # Return : content of input stream from server socket #----------------------------------------------------------------------------------------------- def recv_buf(self): #content="" #while True: # data = self.clientSock.recv(LEN_UNIT_BUF) # if not data: break # content += data #print content #return content.split(END_LINE)[0] return self.clientSock.recv(LEN_UNIT_BUF).split(END_LINE)[0] #----------------------------------------------------------------------------------------------- # the function for verify Hello at beginning of communication in data #----------------------------------------------------------------------------------------------- def verify_hello(self, data): if len(data): # Verify Hello at beginning of communication if not (data == PROT_START ): self.clientSock.send(ERROR_SOCKET + END_LINE + "Error in protocol establishment ( 'Hello' )" + END_LINE) time.sleep(0.5) self.clientSock.close() return False return True return False #----------------------------------------------------------------------------------------------- # Operation 1 --- # # Description: #----------------------------------------------------------------------------------------------- def send(self, data): data2= self.AES.encryptAES(self.sym_key,data) self.clientSock.send(data2) #----------------------------------------------------------------------------------------------- def rec(self): data = self.clientSock.recv(2048) print data data2 = self.AES.decryptAES(self.sym_key, data) return data2 #----------------------------------------------------------------------------------------------- #----------------------------------------------------------------------------------------------- # the main function of the THREAD sessionWithClient class #----------------------------------------------------------------------------------------------- def run(self): try: # Wait message beginning of communication from client data = self.recv_buf() if not self.verify_hello(data): return self.clientSock.send(PROT_START + END_LINE) # self.pythonServer.gui.guiSock.send("Hello " + self.addr[0] + "#") # to GUI self.sym_key = self.security.key_exchange(self.clientSock)# in Security ip = self.addr[0] folder = self.DBManager.folder_by_ip(ip) self.send(folder) data2 = "" while data2!="You failed to login 3 times. Access to folder denied." or data2 != "login successful": print data2 data2 = self.rec() message=self.DBManager.run(data2,ip) self.send(message) if "login failed" in data2: self.EmailSender.send(self.DBManager.email_by_ip(ip),folder, ip) self.clientSock.close() except socket.error , e: print str(e) + END_LINE + ERROR_SOCKET + " from " + str(self.addr[0]) except Exception as e: print str(e) + END_LINE + ERROR_EXCEPT + " from " + str(self.addr[0])
from string import Template # 문자열 템플릿 모듈 from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage from time import sleep import EmailContent import EmailSender import modeltest_aws os.chdir('/home/ec2-user/srservice') '''filelist=os.listdir('./image') print(filelist)''' str_host = 'smtp.gmail.com' num_port = 587 # SMTP Port emailSender = EmailSender.EmailSender(str_host, num_port) str_subject = 'Processed Image arrived' # e메일 제목 template = Template("""<html> <head></head> <body> Hi ${NAME}.<br> <img src="cid:my_image1"><br> This is a processed image output. </body> </html>""") template_params = {'NAME': 'Everyone'} path_dir = './image' result_dir = './ResultOutput'
@author: Erik """ import requests import json import os.path import SkuParser import OpponentPicker import Voobly import VooblyMatchHistory import EmailSender import SpreadSheet SkuParser = SkuParser.SkuParser() OpponentPicker = OpponentPicker.OpponentPicker() emailer = EmailSender.Mailer() SheetWriter = SpreadSheet.SSWriter() print("Currently, this grabs all orders ever (at 50+ orders we will need to rework it due to squarespace API), writes all of them to two databases: FiveToFightCustomers.csv & FiveToFightsOrders.csv\n Enhancements:\n\tRead from database - append new orders\n\tOnly do weekly orders\n\tHandle 50+ orders") # ------------------- Get information about orders from squarespace beginTime = "2018-05-10T12:00:00Z" stoppingTime = "2018-05-17T12:30:00Z" url = "https://api.squarespace.com/1.0/commerce/orders?modifiedAfter="+beginTime+"&modifiedBefore="+stoppingTime header = dict(authorization= "Bearer aa96549b-a198-47fe-b260-33a0f3dbf2be") response = requests.get(url, headers = header) dictionary= json.loads(response.text) orders = dictionary['result'] # Load in local Customer database customersDB = []
""" Shawn 11/21/2018 程序主入口 """ import EmailSender import ReadXLSX import TableMaker if __name__ == "__main__": sender = EmailSender.EmailSender("*****@*****.**", "password", "Shawn") reader = ReadXLSX.ReadXLSX("test.xlsx") info_pack = reader.get_emails_pack() for one in info_pack: content = TableMaker.TableMaker.pack_up( one.name, one.title, one.manager, one.date_str, one.personal_part ) status = sender.send_mail( one.email_address, content, one.name, one.title) if status: print(f"{one.name} successful") else:
class SessionWithClient(threading.Thread): # ----- D A T A ----- # ----- F U N C T I O N S ----- #----------------------------------------------------------------------------------------------- # class definition function #----------------------------------------------------------------------------------------------- def __init__(self, pythonServer, clientSock, addr, sym_key): threading.Thread.__init__(self) self.security = Security() # reference to parent server self.pythonServer = pythonServer # new open socket for client self.clientSock = clientSock # address connection : IP and Port self.addr = addr self.sym_key = None # Dictionary of ptotocols functions : Key - level Value - referance to function # self.operFnPtrDict = { 1 : self.oper1Fun, 2 : self.oper1Fun } self.AES = AESCrypt() self.DBManager = DBManager() self.KeyGenerator = KeyGenerator() self.EmailSender = EmailSender() #----------------------------------------------------------------------------------------------- # Receive data from input stream from server socket by loop # Each step read LEN_UNIT_BUF bytes # After loop we want to get only first part of split by '\r\n' # Return : content of input stream from server socket #----------------------------------------------------------------------------------------------- def recv_buf(self): #content="" #while True: # data = self.clientSock.recv(LEN_UNIT_BUF) # if not data: break # content += data #print content #return content.split(END_LINE)[0] return self.clientSock.recv(LEN_UNIT_BUF).split(END_LINE)[0] #----------------------------------------------------------------------------------------------- # the function for verify Hello at beginning of communication in data #----------------------------------------------------------------------------------------------- def verify_hello(self, data): if len(data): # Verify Hello at beginning of communication if not (data == PROT_START): self.clientSock.send( ERROR_SOCKET + END_LINE + "Error in protocol establishment ( 'Hello' )" + END_LINE) time.sleep(0.5) self.clientSock.close() return False return True return False #----------------------------------------------------------------------------------------------- # Operation 1 --- # # Description: #----------------------------------------------------------------------------------------------- def send(self, data): data2 = self.AES.encryptAES(self.sym_key, data) self.clientSock.send(data2) #----------------------------------------------------------------------------------------------- def rec(self): data = self.clientSock.recv(2048) print data data2 = self.AES.decryptAES(self.sym_key, data) return data2 #----------------------------------------------------------------------------------------------- #----------------------------------------------------------------------------------------------- # the main function of the THREAD sessionWithClient class #----------------------------------------------------------------------------------------------- def run(self): try: # Wait message beginning of communication from client data = self.recv_buf() if not self.verify_hello(data): return self.clientSock.send(PROT_START + END_LINE) # self.pythonServer.gui.guiSock.send("Hello " + self.addr[0] + "#") # to GUI self.sym_key = self.security.key_exchange( self.clientSock) # in Security ip = self.addr[0] folder = self.DBManager.folder_by_ip(ip) self.send(folder) data2 = "" while data2 != "You failed to login 3 times. Access to folder denied." or data2 != "login successful": print data2 data2 = self.rec() message = self.DBManager.run(data2, ip) self.send(message) if "login failed" in data2: self.EmailSender.send(self.DBManager.email_by_ip(ip), folder, ip) self.clientSock.close() except socket.error, e: print str(e) + END_LINE + ERROR_SOCKET + " from " + str( self.addr[0]) except Exception as e: print str(e) + END_LINE + ERROR_EXCEPT + " from " + str( self.addr[0])
#!/usr/bin/python # -*- coding: UTF-8 -*- from EmailSender import * emailsender = EmailSender('smtp.gmail.com', 587) try: emailsender.login("fromaddr", "password") emailsender.send_with_attachment("toaddr", "subject", "body", "file_path") emailsender.quit() except Exception, e: print "Error!" print str(e)
def __init__(self, jsonParams): self.tasks = jsonParams['tasks'] self.emailSender = EmailSender.Sender(jsonParams['gmailInfo'])