def run_emailer(cls): from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email import Encoders import smtplib logger.info('start sending email to subscribers...') smtp = smtplib.SMTP(host=config.SMTP_HOST, port=config.SMTP_PORT) try: smtp.set_debuglevel(4) smtp.ehlo() smtp.starttls() smtp.ehlo() smtp.login(user=config.SMTP_USER, password=config.SMTP_PASSWORD) logger.info('established secure connection to smtp server...') toaddrs = [ user.email for user in User.findall() if user.subscription_status == 'subscribed' ] print toaddrs fromaddr = config.FROM_ADDR current_date_string = datetime.datetime.now().strftime('%Y-%m-%d') message_subject = "%s:%s" % (config.APP_NAME, current_date_string) message_text = "Thank you for subscribing %s. Please find the newly posted jobs as of %s" % ( config.APP_NAME, current_date_string) msg = MIMEMultipart() msg['From'] = fromaddr msg['To'] = '' msg['Cc'] = ','.join(toaddrs) msg['Subject'] = message_subject msg.attach(MIMEText(message_text)) part = MIMEBase('application', "octet-stream") file_format = 'xlsx' part.set_payload(JobItem.extract_records_as_bytes(file_format)) logger.info( 'attached extracted files to the mail...waiting to be sent..') Encoders.encode_base64(part) part.add_header( 'Content-Disposition', 'attachment; filename="extracted_jobs_%s.%s"' % (current_date_string, file_format)) msg.attach(part) smtp.sendmail(fromaddr, toaddrs, msg.as_string()) logger.info('done sending email to subscribers...') except Exception as e: logger.error(e) finally: smtp.quit()
def run_emailer(cls): from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email import Encoders import smtplib logger.info('start sending email to subscribers...') smtp = smtplib.SMTP(host=config.SMTP_HOST, port=config.SMTP_PORT) try: smtp.set_debuglevel(4) smtp.ehlo() smtp.starttls() smtp.ehlo() smtp.login(user=config.SMTP_USER, password=config.SMTP_PASSWORD) logger.info('established secure connection to smtp server...') toaddrs = [user.email for user in User.findall() if user.subscription_status == 'subscribed'] print toaddrs fromaddr = config.FROM_ADDR current_date_string = datetime.datetime.now().strftime('%Y-%m-%d') message_subject = "%s:%s" % (config.APP_NAME, current_date_string) message_text = "Thank you for subscribing %s. Please find the newly posted jobs as of %s" % ( config.APP_NAME, current_date_string) msg = MIMEMultipart() msg['From'] = fromaddr msg['To'] = '' msg['Cc'] = ','.join(toaddrs) msg['Subject'] = message_subject msg.attach(MIMEText(message_text)) part = MIMEBase('application', "octet-stream") file_format = 'xlsx' part.set_payload(JobItem.extract_records_as_bytes(file_format)) logger.info('attached extracted files to the mail...waiting to be sent..') Encoders.encode_base64(part) part.add_header('Content-Disposition', 'attachment; filename="extracted_jobs_%s.%s"' % (current_date_string, file_format)) msg.attach(part) smtp.sendmail(fromaddr, toaddrs, msg.as_string()) logger.info('done sending email to subscribers...') except Exception as e: logger.error(e) finally: smtp.quit()
def test_findall(self): User("username", "password", "*****@*****.**", role="admin").save() self.assertEqual(1, len(User.findall()), "Count of users should be 1")
def test_findall(self): User('username', 'password', '*****@*****.**', role='admin').save() self.assertEqual(1, len(User.findall()), 'Count of users should be 1')