def _mail_check(self, mail_addr): "check mail exist or not and return mail object" t_sql = Mail.select().where(Mail.addr == mail_addr) if t_sql.count(): return t_sql[0] else: return Mail.create(addr=mail_addr)
def list_mail(user, domain=settings.MY_DOMAINS[0]): try: mails = list( Mail.select(Mail.q.user == User.select( AND(User.q.name == user, Domain.q.name == domain))[0])) except IndexError: mails = [] return render_template('list_mail.html', **locals())
def delete_mail(user, mail_id, domain=settings.MY_DOMAINS[0]): try: mail = list(Mail.select(AND(Mail.q.user==User.select(AND(User.q.name==user, Domain.q.name==domain))[0], Mail.q.id==mail_id)))[0] except IndexError: abort(404) #if divmod((datetime.datetime.now() - mail.ts).total_seconds(), 60)[0] > 10: if (datetime.datetime.now() - mail.ts) > datetime.timedelta(seconds=600): abort(403) Mail.delete(mail_id) return redirect(url_for('list_mail', user=user, domain=domain))
def show_mail(user, mail_id, domain=settings.MY_DOMAINS[0]): try: mail = list(Mail.select(AND(Mail.q.user==User.select(AND(User.q.name==user, Domain.q.name==domain))[0], Mail.q.id==mail_id)))[0] except IndexError: abort(404) new_mail = False #if divmod((datetime.datetime.now() - mail.ts).total_seconds(), 60)[0] <= 10: if (datetime.datetime.now() - mail.ts) <= datetime.timedelta(seconds=600): new_mail = True mail_content = unicode(quopri.decodestring(mail.headers+"\r\n"+mail.body), 'utf-8', errors='ignore') return render_template('show_mail.html', **locals())
def delete_mail(user, mail_id, domain=settings.MY_DOMAINS[0]): try: mail = list( Mail.select( AND( Mail.q.user == User.select( AND(User.q.name == user, Domain.q.name == domain))[0], Mail.q.id == mail_id)))[0] except IndexError: abort(404) #if divmod((datetime.datetime.now() - mail.ts).total_seconds(), 60)[0] > 10: if (datetime.datetime.now() - mail.ts) > datetime.timedelta(seconds=600): abort(403) Mail.delete(mail_id) return redirect(url_for('list_mail', user=user, domain=domain))
def show_mail(user, mail_id, domain=settings.MY_DOMAINS[0]): try: mail = list( Mail.select( AND( Mail.q.user == User.select( AND(User.q.name == user, Domain.q.name == domain))[0], Mail.q.id == mail_id)))[0] except IndexError: abort(404) new_mail = False #if divmod((datetime.datetime.now() - mail.ts).total_seconds(), 60)[0] <= 10: if (datetime.datetime.now() - mail.ts) <= datetime.timedelta(seconds=600): new_mail = True mail_content = unicode(quopri.decodestring(mail.headers + "\r\n" + mail.body), 'utf-8', errors='ignore') return render_template('show_mail.html', **locals())
def list_mail(user, domain=settings.MY_DOMAINS[0]): try: mails = list(Mail.select(Mail.q.user==User.select(AND(User.q.name==user, Domain.q.name==domain))[0])) except IndexError: mails = [] return render_template('list_mail.html', **locals())