diff --git a/app/controllers/v1/complaints_controller.rb b/app/controllers/v1/complaints_controller.rb
index 5015fb5c70e218362edb397f172b696d07ce52df..c6dc3b3efbd585545c31fe62d1b8eb7b64ee56c7 100644
--- a/app/controllers/v1/complaints_controller.rb
+++ b/app/controllers/v1/complaints_controller.rb
@@ -33,12 +33,13 @@ class V1::ComplaintsController < ApplicationController
   # POST v1/complaints
   # POST v1/complaints.json
   def create
-    complaint = Complaint.new(complaint_params)
+    @complaint = Complaint.new(complaint_params)
 
-    if complaint.save
-      render json: complaint, status: :created
+    if @complaint.save
+      ComplaintsMailer.new_complaint_received(@complaint, @current_user).deliver_now
+      render json: @complaint, status: :created
     else
-      render json: complaint.errors, status: :unprocessable_entity
+      render json: @complaint.errors, status: :unprocessable_entity
     end
   end
 
diff --git a/app/controllers/v1/users_controller.rb b/app/controllers/v1/users_controller.rb
index 11f0a794cab6151a03e0c72d921408eb6910700d..c234a6556456a4dbe041ad175bf04ece42f72c94 100644
--- a/app/controllers/v1/users_controller.rb
+++ b/app/controllers/v1/users_controller.rb
@@ -24,11 +24,11 @@ class V1::UsersController < ApplicationController
   include ::PublisherController
 	include ::SubjectableController
 
-  before_action :set_user, only: [:show, :update, :destroy, :following, :own_reviews, :received_reviews, :followers, :approve_request]
+  before_action :set_user, only: [:show, :update, :destroy, :following, :own_reviews, :received_reviews, :followers, :approve_request, :add_submitter]
   before_action :set_new_user, only: [:upload_requests]
   before_action :authenticate_user!, only: [:create, :update, :destroy, :following,
-                :own_reviews, :received_reviews, :followers, :submitter_request, :upload_requests, :approve_request]
-  before_action :authorize_user, only: [:own_reviews, :received_reviews, :update, :destroy, :upload_requests, :approve_request]
+                :own_reviews, :received_reviews, :followers, :submitter_request, :upload_requests, :approve_request, :add_submitter]
+  before_action :authorize_user, only: [:own_reviews, :received_reviews, :update, :destroy, :upload_requests, :approve_request, :add_submitter]
 
   # GET /v1/users
   # GET /v1/users.json
@@ -93,6 +93,27 @@ class V1::UsersController < ApplicationController
     render json: users
   end
 
+  # POST /v1/users/:id/add_submitter
+  # POST /v1/users/:id/add_submitter.json
+  def add_submitter
+    if @user.is_submitter?
+      render status: :forbidden
+    elsif !approve_params.to_s.blank?
+      if approve_params
+        @user.submitter_request = User.submitter_requests[:accepted]
+        @user.roles << Role.where(name: "submitter")
+        @user.save
+        render status: :ok
+      else
+        @user.update(submitter_request: User.submitter_requests[:rejected])
+        render status: :ok
+      end
+    else
+      render status: :forbidden
+    end
+  end
+
+
   # POST /v1/users/:id/approve_request
   # POST /v1/users/:id/approve_request.json
   def approve_request
diff --git a/app/mailers/complaints_mailer.rb b/app/mailers/complaints_mailer.rb
new file mode 100644
index 0000000000000000000000000000000000000000..f0721ea80d5422ffa05a629196883101ffb908bb
--- /dev/null
+++ b/app/mailers/complaints_mailer.rb
@@ -0,0 +1,29 @@
+
+# Copyright (C) 2015 Centro de Computacao Cientifica e Software Livre
+# Departamento de Informatica - Universidade Federal do Parana
+#
+# This file is part of portalmec.
+#
+# portalmec is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# portalmec is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with portalmec.  If not, see <http://www.gnu.org/licenses/>.
+
+class ComplaintsMailer < ApplicationMailer
+    default to: 'integrada.contato@mec.gov.br'
+    default from: Proc.new { @user.email }
+
+    def new_complaint_received(complaint, user)
+        @complaint = complaint
+        @user = user
+        mail(subject: "Denuncia de objeto")
+    end
+end
diff --git a/app/policies/user_policy.rb b/app/policies/user_policy.rb
index 25eb87c915769e033d655c80888d7abeaab6d194..fbe97e37f0d906a9f3d54d8f1bf8cf56e68c19e3 100644
--- a/app/policies/user_policy.rb
+++ b/app/policies/user_policy.rb
@@ -55,6 +55,10 @@ class UserPolicy < ApplicationPolicy
     record if user.is_supervisor?
   end
 
+  def add_submitter?
+    record if user.is_supervisor?
+  end
+
   def authorized_user?
     return false if ( record.is_admin? && !user.is_admin? )
     if ( record.is_editor? )
diff --git a/app/views/complaints_mailer/new_complaint_received.html.erb b/app/views/complaints_mailer/new_complaint_received.html.erb
new file mode 100644
index 0000000000000000000000000000000000000000..556ed05060caf9cf43dbbd4081e7fb66a6a49ebf
--- /dev/null
+++ b/app/views/complaints_mailer/new_complaint_received.html.erb
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <style>/* Email styles need to be inline */</style>
+  </head>
+  <body>
+  <h2>Nome do usuário: <%= @user.name %></h1>
+  <h2>Email do usuário: <%= @user.email %></h1>
+  <h2>Descrição: <%= @complaint.description %></h1>
+  <h2>Classe denunciada: <%= @complaint.complainable_type %></h1>
+  <h2>Id: <%= @complaint.complainable_id %></h1>
+  <h2>Nome: <%= @complaint.complainable.name %></h1>
+  <h2>Razão: <%= @complaint.complaint_reason.reason %></h1>
+  </body>
+</html>
diff --git a/config/routes.rb b/config/routes.rb
index c7e50d570b0f00d1b994c9805acea966eef1b0f3..3a0d2f608a008b35eb4092826bbfcf78534704eb 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -139,6 +139,7 @@ Rails.application.routes.draw do
         get 'reviews/own', to: 'users#own_reviews'
         get 'reviews/received', to: 'users#received_reviews'
         post 'approve_request', to: 'users#approve_request'
+        post 'add_submitter', to: 'users#add_submitter'
       end
       collection do
         get 'upload_requests'
diff --git a/spec/acceptance/users_spec.rb b/spec/acceptance/users_spec.rb
index d376f130caba2ce0350fed4a7c55f5d2771654cb..e381d1b1400963e79233ece6798b7cd0483f7f3d 100644
--- a/spec/acceptance/users_spec.rb
+++ b/spec/acceptance/users_spec.rb
@@ -372,8 +372,8 @@ resource 'Users' do
     let(:raw_post) {params.to_json}
 
     before do
-      @user = create(:user, )
-          @user.update(submitter_request: User.submitter_requests[:requested])
+      @user = create(:user)
+      @user.update(submitter_request: User.submitter_requests[:requested])
     end
 
     example 'Approve a submitter request' do
@@ -381,4 +381,24 @@ resource 'Users' do
       expect(status).to eq(200)
     end
   end
+
+  post '/v1/users/:id/add_submitter' do
+    include_context "authenticate_user_supervisor"
+
+    parameter :id, 'The id of the user who asked to be a submitter'
+    parameter :approves, 'If the user can be a submitter or not'
+
+    let(:id) {@user.id}
+    let(:approves) { true }
+    let(:raw_post) {params.to_json}
+
+    before do
+      @user = create(:user)
+    end
+
+    example 'Add an user submitter' do
+      do_request
+      expect(status).to eq(200)
+    end
+  end
 end