diff --git a/config/schema/inmail.schema.yml b/config/schema/inmail.schema.yml
index ea65eb5..b9ebf57 100644
--- a/config/schema/inmail.schema.yml
+++ b/config/schema/inmail.schema.yml
@@ -67,6 +67,9 @@ inmail.deliverer.*:
     configuration:
       label: 'Configuration'
       type: inmail.plugin.deliverer.[%parent.plugin]
+    message_report:
+      label: 'Message report'
+      type: boolean
 
 # Empty default configuration schema
 inmail.plugin.analyzer.*:
diff --git a/inmail.module b/inmail.module
index 873d2a2..4baded7 100644
--- a/inmail.module
+++ b/inmail.module
@@ -319,6 +319,17 @@ function inmail_mail($key, &$message, $params) {
       $header->addField('X-Inmail-Forwarded', 'handler_moderator_forward');
       $message['raw_headers'] = $header;
       break;
+    case 'success':
+      /** @var \Drupal\contact\MessageInterface $original */
+      $original = $params['original'];
+      $message['subject'] = 'Re: ' . $original->getSubject();
+      $message['from'] = \Drupal::config('system.site')->get('mail');
+      $message['headers']['message-id'] = $original->getMessageId();
+      // Set the mail body.
+      $body [] = 'The message has been processed successfully.';
+      //TODO: Add log messages in body https://www.drupal.org/node/2822320
+      $message['body'] = $body;
+      break;
   }
 }
 
diff --git a/src/Entity/DelivererConfig.php b/src/Entity/DelivererConfig.php
index 46ee2a0..0dc43ad 100644
--- a/src/Entity/DelivererConfig.php
+++ b/src/Entity/DelivererConfig.php
@@ -32,6 +32,7 @@ use Drupal\inmail\DelivererConfigInterface;
  *     "label",
  *     "plugin",
  *     "configuration",
+ *     "message_report",
  *   },
  *   links = {
  *     "edit-form" = "/admin/config/system/inmail/analyzers/{inmail_deliverer}",
@@ -49,4 +50,29 @@ class DelivererConfig extends PluginConfigEntity implements DelivererConfigInter
    */
   protected $pluginType = 'deliverer';
 
+  /**
+   *  The enabled/disabled status of the messageReporter.
+   *
+   * @var bool
+   */
+  protected $message_report = FALSE;
+
+  /**
+   * Set the flag to message reporter.
+   *
+   * @param bool $messageReport
+   *   Flag of message reporter.
+   */
+  public function setMessageReport($messageReport) {
+   $this->message_report = $messageReport;
+  }
+
+  /**
+   * Returns the flag for message report.
+   *
+   * @return bool
+   */
+  public function isMessageReport() {
+    return $this->message_report;
+  }
 }
diff --git a/src/Form/DelivererConfigurationForm.php b/src/Form/DelivererConfigurationForm.php
index b0df2d1..d291dbd 100644
--- a/src/Form/DelivererConfigurationForm.php
+++ b/src/Form/DelivererConfigurationForm.php
@@ -35,4 +35,22 @@ class DelivererConfigurationForm extends PluginConfigurationForm {
     $form_state->setRedirect('entity.inmail_deliverer.collection');
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function buildForm(array $form, FormStateInterface $form_state) {
+    $form = parent::buildForm($form, $form_state);
+    $entity = $this->getEntity();
+
+    $form['message_report'] = [
+      '#title' => $this->t('Mail processing report to sender.'),
+      '#type' => 'checkbox',
+      '#default_value' => $entity->isMessageReport(),
+    ];
+
+    return $form;
+
+  }
+
+
 }
diff --git a/src/MessageProcessor.php b/src/MessageProcessor.php
index cd93b21..ae5ff0e 100644
--- a/src/MessageProcessor.php
+++ b/src/MessageProcessor.php
@@ -168,6 +168,18 @@ class MessageProcessor implements MessageProcessorInterface {
         }
       }
       $result->success($key);
+
+      // Send message report.
+      //TODO: Skip bounce mails.
+      if ($deliverer->isMessageReport()) {
+        // Trigger result transition mail.
+        $params['result'] = $result;
+        $params['original'] = $message;
+        // Sending message.
+        $recipient = $message->getFrom();
+        $mail_manager = \Drupal::service('plugin.manager.mail');
+        $mail_manager->mail('inmail', 'success', $recipient, \Drupal::languageManager()->getDefaultLanguage()->getId(), $params);
+      }
     }
     catch (ParseException $e) {
       // Set event message if parsing the message fails.
diff --git a/tests/src/Kernel/ModeratorForwardTest.php b/tests/src/Kernel/ModeratorForwardTest.php
index fa3c87c..7402149 100644
--- a/tests/src/Kernel/ModeratorForwardTest.php
+++ b/tests/src/Kernel/ModeratorForwardTest.php
@@ -94,6 +94,17 @@ class ModeratorForwardTest extends KernelTestBase {
     $processor->process('unique_key', $regular_x, $deliverer);
     $this->assertSuccess($deliverer, 'unique_key');
     $this->assertMailCount(0);
+    $processor->process('unique_key', $regular_x, $deliverer);
+    // Check message_report
+    $this->assertMailCount(0);
+    $deliverer->setMessageReport(1);
+    $processor->process('unique_key', $regular_x,$deliverer);
+    $this->assertMailCount(1);
+    $mails = $this->getMails();
+    $last_mail = $mails[0];
+    $this->assertEquals('bounces@example.com', $last_mail['from']);
+    $this->assertEquals('Re: BMH testing sample', $last_mail['subject']);
+    $this->assertEquals('The message has been processed successfully.', $last_mail['body']);
 
     // Again check past event log.
     $events = \Drupal::entityTypeManager()->getStorage('past_event')->loadMultiple();
@@ -107,7 +118,8 @@ class ModeratorForwardTest extends KernelTestBase {
     $deliverer = $this->createTestDeliverer();
     $processor->process('unique_key', $regular, $deliverer);
     $this->assertSuccess($deliverer, 'unique_key');
-    $this->assertMailCount(1);
+    $this->assertMailCount(2);
+
   }
 
   /**
