diff --git a/oser_backend/settings/common.py b/oser_backend/settings/common.py
index 478aa5e2764bdef775cb33c2f28e3a9bd644b5a5..cdbf6bde5e0fad6c84fec61ecebb46b993850bf4 100644
--- a/oser_backend/settings/common.py
+++ b/oser_backend/settings/common.py
@@ -38,7 +38,8 @@ DJANGO_APPS = [
     'whitenoise.runserver_nostatic',
     'django.contrib.staticfiles',
     'django.forms',
-    'django.contrib.sites'
+    'django.contrib.sites',
+    "verify_email.apps.VerifyEmailConfig",
 ]
 
 THIRD_PARTY_APPS = [
diff --git a/oser_backend/urls.py b/oser_backend/urls.py
index a645eb8891e45df585c383ade65c77f98ee80fb9..db86f1e41dcc3d04f96e4141cc7f2a40ca0d9d7e 100644
--- a/oser_backend/urls.py
+++ b/oser_backend/urls.py
@@ -10,6 +10,8 @@ from rest_framework.documentation import include_docs_urls
 from rest_auth.views import PasswordResetConfirmView
 
 urlpatterns = [
+    # Mail verification
+    url(r'^verification/', include('verify_email.urls')),
     # Admin site
     url(r'^admin/', admin.site.urls),
     # Redirect the root to the admin site
diff --git a/register/serializers.py b/register/serializers.py
index 12b6c582130261a88e1e97eb9c9252526b423a45..44624aae773a38cfb62322b207dfa2be2944dbdb 100644
--- a/register/serializers.py
+++ b/register/serializers.py
@@ -1,5 +1,6 @@
 """Register serializers."""
 
+from urllib import request
 from django.contrib.auth import get_user_model
 from rest_framework import serializers
 
@@ -45,14 +46,16 @@ class RegistrationSerializer(serializers.ModelSerializer):
         """
 
         password = validated_data.pop('password')
+        request = self.context.get("request")
 
         registration = Registration.objects.create(**validated_data)
-
         # Fire a registration_created signal
         registration_created.send(
             sender=Registration,
             instance=registration,
             password=password,
+            validated_data=validated_data,
+            request=request
         )
 
         return registration
diff --git a/register/signals.py b/register/signals.py
index 18c9ea040ee616b96e05e5b43cabecb1682c2cb0..6a1bd76ae455c2a22f09e7b42fff2a8803973cdb 100644
--- a/register/signals.py
+++ b/register/signals.py
@@ -6,27 +6,35 @@ from django.dispatch import Signal, receiver
 from profiles.models import Student
 
 from .models import Registration
-
+from verify_email.email_handler import send_verification_email
+from users.forms import UserForm
 User = get_user_model()
 
 
-registration_created = Signal(providing_args=('instance', 'password'))
+registration_created = Signal(
+    providing_args=('instance', 'password', 'request', 'validated_data'))
 
 
 @receiver(registration_created, sender=Registration)
-def create_user_and_student(sender, instance: Registration,
+def create_user_and_student(sender, instance: Registration, request, validated_data,
                             password: str, **kwargs):
     """Create a user and student after on a registration_created signal."""
-    user = User.objects.create_user(
-        email=instance.email,
-        password=password,
-        first_name=instance.first_name,
-        last_name=instance.last_name,
-        phone_number=instance.phone_number,
-    )
-
-    Student.objects.create(
-        user=user,
-        dateOfBirth=instance.dateOfBirth,
-        registration=instance,
-    )
+    # user = User.objects.create_user(
+    #     email=instance.email,
+    #     password=password,
+    #     first_name=instance.first_name,
+    #     last_name=instance.last_name,
+    #     phone_number=instance.phone_number,
+    #     is_active=False,
+    # )
+    validated_data['password'] = password
+    form = UserForm(validated_data)
+    if form.is_valid():
+        user = send_verification_email(
+            request, form)
+        Student.objects.create(
+            user=user,
+            dateOfBirth=instance.dateOfBirth,
+            registration=instance,)
+    else:
+        print("Probleme lors de la création du user")
diff --git a/users/forms.py b/users/forms.py
new file mode 100644
index 0000000000000000000000000000000000000000..f2718cca1e0342901338eee312abc2dcd11283fd
--- /dev/null
+++ b/users/forms.py
@@ -0,0 +1,10 @@
+from django.forms import ModelForm, TextInput, EmailInput
+from .models import User
+from users.models import User
+
+
+class UserForm(ModelForm):
+    class Meta:
+        model = User
+        fields = ["email", "password", "first_name",
+                  "last_name", "phone_number"]