Exemple #1
0
 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)
Exemple #2
0
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())
Exemple #3
0
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))
Exemple #4
0
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())
Exemple #5
0
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))
Exemple #6
0
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())
Exemple #7
0
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())