Example #1
0
def pw_reset():
    pw = request.form.get("pw")
    pws = request.form.get("pws")
    if pw == pws:
        id = session["id"]
        salt = [
            random.choice(string.ascii_letters + string.digits)
            for i in range(20)
        ]
        salt = ''.join(salt)

        b_pw = bytes(pw, "utf-8")
        b_salt = bytes(salt, "utf-8")
        hashed_pw = hashlib.pbkdf2_hmac("sha256", b_pw, b_salt, 10).hex()

        mail = db.select_mail(id)
        mail = mail[0]
        result = db.pw_updata(hashed_pw, salt, id)

        mail_pdf.henkou_mail(mail)
        session.pop("id", None)

        return render_template("pw_reset.html", result=result)

    else:
        return render_template("reset.html", error="同じパスワードを入力してください")
Example #2
0
    def delete_mail(self):
        index = int(self.argv[1])
        username = self.username
        mail = ''
        results = db.select_mail(receiver = username)

        if 0 < index <= len(results):
            db.delete_mail(results[index-1][4])
            return '&<!delete-mail::>' + db.get_bucket(username) + '&<!spl>' + results[index-1][3] + '&<!meta|msg>Mail deleted.'
        else:
            return 'No such mail.'
Example #3
0
    def list_mail(self):
        username = self.username
        
        header = "\tID\tSubject\tFrom\tDate"
        data = ""
        
        results = db.select_mail(receiver = username)

        idx = 1
        for row in results:
            data += "\n\t{}\t{}\t{}\t{}".format(idx, row[0], row[1], row[2][5:7]+'/'+row[2][8:10])
            idx += 1
        return header + data
Example #4
0
    def retr_mail(self):
        index = int(self.argv[1])
        username = self.username
        mail = ''
        results = db.select_mail(receiver = username)

        if 0 < index <= len(results):
            mail = 'Subject\t:{}\nFrom\t:{}\nDate\t:{}\n--\n'.format(results[index-1][0], results[index-1][1], results[index-1][2])
        else:
            return 'No such mail.'

        object_name = results[index-1][3]

        return '&<!retr-mail::>' + db.get_bucket(username) + '&<!spl>' + object_name + '&<!meta|msg>' + mail