def send_mail(data): mailhost, fromaddr, toaddrs, subject, credentials = email_credentials() username, password = credentials subject = 'seanweather daily report' body = 'Here is some interesting data, my good-looking friend:\n\n' + data msg = MIMEText(body, _charset="UTF-8") msg['Subject'] = Header(subject, "utf-8") server = smtplib.SMTP(mailhost) server.starttls() server.login(username, password) server.sendmail(fromaddr, toaddrs, msg.as_string()) server.quit()
def send_mail(time_ago, data): today = arrow.now().format('dddd, MMM D (YYYY-MM-DD)') subject = "It's %s - How did your day go?" % today body = "Just reply to this email with your entry.\n\n" \ "Remember this? %s ago you wrote...\n\n%s" % (time_ago, data) mailhost, fromaddr, replytoaddr, toaddrs, credentials = email_credentials() username, password = credentials msg = MIMEText(body, _charset="UTF-8") msg['Subject'] = Header(subject, "utf-8") msg['reply-to'] = replytoaddr server = smtplib.SMTP(mailhost) server.starttls() server.login(username, password) server.sendmail(fromaddr, toaddrs, msg.as_string()) server.quit()
def send_mail(subject, body, attachment=None): mailhost, fromaddr, replytoaddr, toaddrs, credentials = email_credentials() username, password = credentials msg = MIMEMultipart() msg["Subject"] = Header(subject) msg.attach(MIMEText(body)) if attachment is not None: payload, filename = attachment part = MIMEBase("application", "octet-stream") part.set_payload(payload) encode_base64(part) part.add_header("Content-Disposition", 'attachment; filename="%s"' % filename) msg.attach(part) server = smtplib.SMTP(mailhost) server.starttls() server.login(username, password) server.sendmail(fromaddr, toaddrs, msg.as_string()) server.quit()
def send_mail(subject, body, attachment=None): mailhost, fromaddr, replytoaddr, toaddrs, credentials = email_credentials() username, password = credentials msg = MIMEMultipart() msg['Subject'] = Header(subject) msg.attach(MIMEText(body)) if attachment is not None: payload, filename = attachment part = MIMEBase('application', "octet-stream") part.set_payload(payload) encode_base64(part) part.add_header('Content-Disposition', 'attachment; filename="%s"' % filename) msg.attach(part) server = smtplib.SMTP(mailhost) server.starttls() server.login(username, password) server.sendmail(fromaddr, toaddrs, msg.as_string()) server.quit()
from database import db, Location, Lookup from datetime import datetime _DEFAULT_NUM_HOURS = 12 _DEFAULT_UNITS = 'F' _DEFAULT_USER_INPUT = '10027' app = flask.Flask(__name__) SECRET_KEY = os.environ.get('SECRET_KEY', 'development') API_KEY = os.environ.get('WUNDERGROUND_KEY', 'development') DEBUG = True if SECRET_KEY == 'development' else False if not DEBUG: import logging from TlsSMTPHandler import TlsSMTPHandler from email_credentials import email_credentials mail_handler = TlsSMTPHandler(*email_credentials()) mail_handler.setLevel(logging.ERROR) app.logger.addHandler(mail_handler) SQLALCHEMY_DATABASE_URI = 'sqlite:///db.db' app.config.from_object(__name__) db.init_app(app) log = logging.getLogger('seanweather') log.setLevel(logging.DEBUG) fh = logging.handlers.RotatingFileHandler('seanweather.log', maxBytes=10000000) fh.setLevel(logging.DEBUG) formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter) log.addHandler(fh)
from get_json import weather_for_zip, geolookup, limit, get_location from re import match from traceback import format_exc from os import environ from database import db, Location, Lookup, Comment from datetime import datetime from json import loads, dumps app = flask.Flask(__name__) SECRET_KEY = environ.get('SECRET_KEY', 'development') DEBUG = True if SECRET_KEY == 'development' else False if not DEBUG: import logging from TlsSMTPHandler import TlsSMTPHandler from email_credentials import email_credentials mail_handler = TlsSMTPHandler(*email_credentials()) mail_handler.setLevel(logging.ERROR) app.logger.addHandler(mail_handler) SQLALCHEMY_DATABASE_URI = 'sqlite:///db.db' app.config.from_object(__name__) db.init_app(app) log = logging.getLogger('seanweather') log.setLevel(logging.DEBUG) fh = logging.handlers.RotatingFileHandler('seanweather.log', maxBytes=10000000) fh.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter) log.addHandler(fh) def main():