diff --git a/Lab2/__pycache__/database_helper.cpython-311.pyc b/Lab2/__pycache__/database_helper.cpython-311.pyc
index 100e86dddec4b61d24a4b59b06594d316c8cdfae..9983477b93d10c0b2dd52a7824e60133085b0d1b 100644
Binary files a/Lab2/__pycache__/database_helper.cpython-311.pyc and b/Lab2/__pycache__/database_helper.cpython-311.pyc differ
diff --git a/Lab2/database.db b/Lab2/database.db
index 200ab061884f9664250abd85b76ba217a03f11f5..879c356c93d13a5af64b630499fc883bd6de459a 100644
Binary files a/Lab2/database.db and b/Lab2/database.db differ
diff --git a/Lab2/database_helper.py b/Lab2/database_helper.py
index 0cac71e6f95fea1b8da016bc6cba0ebf759ccd3e..99a97b0efc89df57dd6c42758d5709790a9c2faf 100644
--- a/Lab2/database_helper.py
+++ b/Lab2/database_helper.py
@@ -10,16 +10,6 @@ def get_db():
     return db
 
 
-def create_database():
-    conn = sqlite3.connect('database.db')
-    cursor = conn.cursor()
-    with open('schema.sql', 'r') as file:
-        sql = file.read()
-        cursor.executescript(sql)
-    conn.commit()
-    conn.close()
-
-
 def clean_db():
     try:
         get_db().execute("DROP table USERS;")
@@ -113,6 +103,7 @@ def get_data_email(email):
         return None
 
 
+
 def change_password(email, newpassword):
     try:
         sql = "UPDATE USERS SET password = 'newpassword1' WHERE email = 'cbdgsdsd11mail.com';"
@@ -121,3 +112,17 @@ def change_password(email, newpassword):
         return True
     except:
         return False
+
+def check_email_exists(email):
+    cursor = get_db().cursor()
+    cursor.execute("SELECT email FROM USERS WHERE email=?", (email,))
+    result = cursor.fetchone()
+    return True if result else False
+
+def postMessage(email_sender, email_recipient, message):
+    try:
+        get_db().execute("INSERT into MESSAGES (EMAIL_RECIPIENT, EMAIL_SENDER, MESSAGE) values(?, ?, ?)", [email_recipient, email_sender, message])
+        get_db().commit()
+        return True
+    except:
+        return False
\ No newline at end of file
diff --git a/Lab2/schema.sql b/Lab2/schema.sql
index 446b1f8eb630a2eba367730215e1fc1978be035c..3ad2fecf000595858432d2798aba367755d00288 100644
--- a/Lab2/schema.sql
+++ b/Lab2/schema.sql
@@ -13,4 +13,12 @@ CREATE TABLE LOGGEDINUSERS(
   TOKEN VARCHAR(40)     NOT NULL,
   EMAIL VARCHAR(30)     NOT NULL,
   PRIMARY KEY (EMAIl)
-)
+);
+
+CREATE TABLE MESSAGES(
+  id INTEGER,
+  EMAIL_RECIPIENT VARCHAR(30)  NOT NULL, --Celui qui reçoit le message
+  EMAIL_SENDER VARCHAR(30)  NOT NULL,  --Celui qui envoie le mail
+  MESSAGE TEXT  NOT NULL,
+  PRIMARY KEY(id AUTOINCREMENT)
+);
\ No newline at end of file
diff --git a/Lab2/server.py b/Lab2/server.py
index c718b1cb0a006bee6575af1ba45b4889d9d4fc67..28abb6e10f0b47268d50aaa3e184799c5fdf957b 100644
--- a/Lab2/server.py
+++ b/Lab2/server.py
@@ -6,7 +6,6 @@ import string
 
 app = Flask(__name__)
 
-#database_helper.create_database()
 
 
 @app.route("/", methods = ['GET'])
@@ -121,6 +120,28 @@ def get_user_data_email(token, email):
     else:
         return "", 401
 
+@app.route("/account/post_message", methods = ['POST'])
+def post_message():
+    data = request.get_json()
+    if('token' in data 
+        and 'message' in data
+        and 'email_recipient' in data):
+        email_sender = database_helper.tokenToEmail(data['token'])
+        if email_sender:
+            if database_helper.check_email_exists(data['email_recipient']):
+                posted = database_helper.postMessage(email_sender, data['email_recipient'], data['message'])
+                if posted:
+                    return "", 201
+                else:
+                    return "", 409
+            else:
+                return "", 404
+        else:
+            return "", 404
+    else:
+        return "", 401
+            
+
 def generate_token():
     characters = string.ascii_letters + string.digits
     return ''.join(random.choices(characters, k=36))