def notStudent(self, senderNameAndEmail): print("NOT STUDENT '{}'".format(senderNameAndEmail["email"])) msg = "Hi! Your mail was not sent from the domain {}. This service exists solely for the".format( HHSTUDENTMAILDOMAIN) mail = Mail(senderNameAndEmail["email"], msg) mail._send()
def getMails(self): """ Internal method used to select relevant rows and wrap getMsg in a HTML-template. Returns a list of Mails. """ key_cols = ["courseCode", "examWriteDate"] tmp_df = self.state_df.merge(self.df, on=key_cols) # keep only those rows that have not already been mailed tmp_df = tmp_df[~tmp_df[self.booleanColumn]] # run through filter tmp_df = self.df_filter(tmp_df) # if empty, return empty list if tmp_df.empty: return [] tmp_df["body"] = tmp_df.apply(self.getMsg, axis=1) # Also marks the correct values in state.csv to True shouldMailTo = tmp_df[key_cols + ["email"]] for i in shouldMailTo.iterrows(): mask = (i[1] == self.state_df[key_cols + ["email"]]).all(axis=1) self.state_df.loc[mask, self.booleanColumn] = True set_state_df(self.state_df) return [ Mail(*i[1:]) for i in list(tmp_df[["email", "body"]].itertuples()) ]
def deleteStudent(self, senderNameAndEmail): print("DELETE for {}".format(senderNameAndEmail["email"])) state = pd.read_csv("lib/state.csv") mask = state[state.email == senderNameAndEmail["email"]] vask = state[mask] msg = "Deleted the following rows from the database: {}".format( vask.to_html()) mail = Mail(senderNameAndEmail["email"], msg) mail._send() state[~mask].to_csv("lib/state.csv", index=False)
def studentStatus(self, senderNameAndEmail): print("STATUS for {}".format(senderNameAndEmail["email"])) state = pd.read_csv("lib/state.csv") rows = state[state.email == senderNameAndEmail["email"]] if rows.empty: msg = "Hi! The database doesn't have anything at all on you. Cheers!" else: msg = "Hello {}, here's what the database has about you.<br>{}<br>Cheers!".format( senderNameAndEmail["name"].split(" ")[0], rows.to_html()) mail = Mail(senderNameAndEmail["email"], msg) mail._send()
def execute(self): try: self.backup_resources() except Exception: # Replace mysqldump password if existed stack = re.sub('\-\-password=.*\-\-default\-character\-set=', '--password=?????\', \'--default-charcter-set=', traceback.format_exc(), flags=re.MULTILINE) print(stack) # Send mail if some error occured if 'mail_recipient_address' in self.config: mail = Mail(self.config) mail.send( os.path.basename(__file__) + " encountered an error\n", stack) finally: # Restore LocalSettings if succeeded if not self.backup_local_settings_file == None: print("Restoreing LocalSettings file") shutil.copyfile(self.backup_local_settings_file, self.current_local_settings_file) os.remove(self.backup_local_settings_file)
return decorated_auth def requires_admin(f): @wraps(f) def decoracted_admin(*args, **kwargs): if not users.isAdmin(): return redirect(url_for('page_routes.index')) return f(*args, **kwargs) return decoracted_admin users = Users() mail = Mail() page_routes = Blueprint('page_routes', __name__, template_folder='templates') @page_routes.before_request def before_request(): if 'username' in session: users.updateLastseen() pass #Main routes @page_routes.route('/') @requires_auth def index():
def __init__(self): self.db = Database() self.mail = Mail() self.rounds = 10
# read config configObj = Config(BASE_PATH) logObj = Log(configObj) logger = logObj.get_logger() #debug print logger.debug('MAIL_ENABLE {}'.format(configObj.MAIL_ENABLE)) logger.debug('MAIL_TO {}'.format(configObj.MAIL_TO)) logger.debug('MAIL_USER {}'.format(configObj.MAIL_USER)) logger.debug('MAIL_HOST {}'.format(configObj.MAIL_HOST)) logger.debug('MAIL_PORT {}'.format(configObj.MAIL_PORT)) logger.debug('LOG_PATH {}'.format(configObj.LOG_PATH)) logger.debug('LOG_FILE {}'.format(configObj.LOG_FILE)) logger.debug('LOG_MAX_SIZE {}'.format(configObj.LOG_MAX_SIZE)) logger.debug('LOG_BACKUP_COUNT {}'.format(configObj.LOG_BACKUP_COUNT)) # argc check if len(sys.argv) != 2: logger.error('Need User') sys.exit(configObj.ERROR_PROC_EXIST) sysuser = sys.argv[1] # initial ddnsObj mailObj = Mail(configObj, logger, sysuser) mailObj.send() # success exit sys.exit(configObj.SUCCESS_EXIT)
def infoMailAdmin(self, mailText, receiver=None): if receiver == None: receiver = self.ownerEmails[0] mail = Mail(receiver, mailText) mail._send()