diff --git a/Lab2/__pycache__/database_helper.cpython-310.pyc b/Lab2/__pycache__/database_helper.cpython-310.pyc
index 2521f7a2f640d7d312631b2237ca65301146cc25..c0cb2b59bf7e62a54d13752438c29730b94473b0 100644
Binary files a/Lab2/__pycache__/database_helper.cpython-310.pyc and b/Lab2/__pycache__/database_helper.cpython-310.pyc differ
diff --git a/Lab2/__pycache__/server.cpython-310.pyc b/Lab2/__pycache__/server.cpython-310.pyc
index b5132ee498d8e00d6aa1e48821d75a3350b8b256..3af99e8a6819cb2af0635cb1cace0ebe952112d3 100644
Binary files a/Lab2/__pycache__/server.cpython-310.pyc and b/Lab2/__pycache__/server.cpython-310.pyc differ
diff --git a/Lab2/database_helper.py b/Lab2/database_helper.py
index a14e796cb258278b33ca566cacc9c69e303de055..f69e47ba0138f2407b2e9803b2dd16f837424463 100644
--- a/Lab2/database_helper.py
+++ b/Lab2/database_helper.py
@@ -105,14 +105,29 @@ def get_data_email(email):
         cursor.execute("SELECT * FROM USERS WHERE EMAIL=?;", [email])
         result = cursor.fetchone()
         if result:
-            data = []
-            for r in result:
-                data.append(r)
-            return data
+            return result
+        else:
+            return None
+    except:
         return None
+
+
+def get_messages_email(email):
+    try:
+        cursor = get_db().cursor()
+        cursor.execute("SELECT MESSAGE, EMAIL_SENDER FROM MESSAGES WHERE EMAIL_RECIPIENT=?;", [email])
+        result = cursor.fetchall()
+        return result
     except:
         return None
 
+def check_user_exists(email):
+    cursor = get_db().cursor()
+    cursor.execute("SELECT EMAIL FROM USERS WHERE EMAIL=?", [email])
+    email = cursor.fetchone()
+    if email:
+        return True
+    return False
 
 def change_password(email, newpassword):
     try:
diff --git a/Lab2/server.py b/Lab2/server.py
index 471f7d0589a41139443e0f9e6e863652def808be..d78f75438195f5adf5cb756cc3523554428bb73c 100644
--- a/Lab2/server.py
+++ b/Lab2/server.py
@@ -3,6 +3,7 @@ from flask import Flask, request, jsonify
 import database_helper
 import random
 import string
+import json
 
 app = Flask(__name__)
 
@@ -95,7 +96,7 @@ def change_password():
             else:
                 return "", 401
         else:
-            return "", 406
+            return "", 405
     else:
         return "", 400
 
@@ -128,6 +129,41 @@ def get_user_data_email(token, email):
     else:
         return "", 401
 
+
+@app.route("/account/get/message/<token>", methods = ['GET'])
+def get_user_message_token(token):
+    email = database_helper.tokenToEmail(token)
+    if email:
+        return get_user_message_email(token, email)
+    else:
+        return "", 401
+
+
+@app.route("/account/get/message/<token>/<email>", methods = ['GET'])
+def get_user_message_email(token, email):
+    if database_helper.is_online(token):
+        data = database_helper.get_messages_email(email)
+        #this user has message(s)
+        if(data and database_helper.check_user_exists(email)):
+            values = {}
+            r_value = []
+            for d in data:
+                values = {
+                    "message": d[0],
+                    "writer": d[1]
+                }
+                r_value.append(values)
+            return jsonify(r_value), 200
+        #this user has no messages
+        elif (not data and database_helper.check_user_exists(email)):
+            return "", 204
+        #this user does not exist
+        else:
+            return "", 404
+    else:
+        return "", 401
+
+
 @app.route("/account/post_message", methods = ['POST'])
 def post_message():
     data = request.get_json()
@@ -154,6 +190,7 @@ def generate_token():
     characters = string.ascii_letters + string.digits
     return ''.join(random.choices(characters, k=36))
 
+
 if __name__ == '__main__':
     app.debug = True
     app.run()