diff --git a/config/install/smtp.settings.yml b/config/install/smtp.settings.yml
index 7b9865e..49186d8 100644
--- a/config/install/smtp.settings.yml
+++ b/config/install/smtp.settings.yml
@@ -10,6 +10,7 @@ smtp_fromname: ''
 smtp_client_hostname: ''
 smtp_client_helo: ''
 smtp_allowhtml: ''
+smtp_queue: false
 smtp_test_address: ''
 smtp_debugging: false
 prev_mail_system: 'php_mail'
diff --git a/config/schema/smtp.schema.yml b/config/schema/smtp.schema.yml
index cda9cd0..780ab6d 100644
--- a/config/schema/smtp.schema.yml
+++ b/config/schema/smtp.schema.yml
@@ -38,6 +38,9 @@ smtp.settings:
     smtp_allowhtml:
       type: string
       label: 'Allow to send e-mails formated as HTML'
+    smtp_queue:
+      type: boolean
+      label: 'Enable SMTP Drupal Queue system'
     smtp_test_address:
       type: email
       label: 'E-mail address to send a test e-mail to'
diff --git a/src/Form/SMTPConfigForm.php b/src/Form/SMTPConfigForm.php
index e1c05f5..4aece69 100644
--- a/src/Form/SMTPConfigForm.php
+++ b/src/Form/SMTPConfigForm.php
@@ -183,6 +183,13 @@ class SMTPConfigForm extends ConfigFormBase {
       '#disabled' => $this->isOverridden('smtp_allowhtml'),
     ];
 
+    $form['email_options']['smtp_queue'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Enable SMTP Drupal Queue system'),
+      '#default_value' => $config->get('smtp_queue'),
+      '#description' => t('Checking this box will allow Drupal Queue system handle send e-mails using Cron execution.'),
+    );
+
     $form['client'] = [
       '#type'  => 'details',
       '#title' => $this->t('SMTP client settings'),
@@ -307,6 +314,7 @@ class SMTPConfigForm extends ConfigFormBase {
       'smtp_client_helo',
       'smtp_allowhtml',
       'smtp_debugging',
+      'smtp_queue'
     ];
     foreach ($config_keys as $name) {
       if (!$this->isOverridden($name)) {
diff --git a/src/Plugin/QueueWorker/SmtpSendQueuedMail.php b/src/Plugin/QueueWorker/SmtpSendQueuedMail.php
new file mode 100644
index 0000000..8aab3ad
--- /dev/null
+++ b/src/Plugin/QueueWorker/SmtpSendQueuedMail.php
@@ -0,0 +1,38 @@
+<?php
+
+namespace Drupal\smtp\Plugin\QueueWorker;
+
+use Drupal\Core\Queue\QueueWorkerBase;
+
+/**
+ * @QueueWorker(
+ *   id = "smtp_send_queue",
+ *   title = @Translation("Smtp Send Queued Email"),
+ *   cron = {"time" = 60}
+ * )
+ */
+class SmtpSendQueuedMail extends QueueWorkerBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function processItem($variables) {
+    $mailer = $variables['mailer'];
+    $to = $variables['to'];
+    $from = $variables['from'];
+
+    $logger = \Drupal::logger('smtp');
+
+    // Let the people know what is going on.
+    $logger->info('Sending mail to: @to', array('@to' => $to));
+
+    // Try to send e-mail. If it fails, set watchdog entry.
+    if (!$mailer->Send()) {
+      $logger->error('Error sending e-mail from @from to @to: @error_message', array('@from' => $from, '@to' => $to, '@error_message' => $mailer->ErrorInfo));
+      return FALSE;
+    }
+
+    $mailer->SmtpClose();
+  }
+
+}
diff --git a/src/Tests/SmtpTest.php b/src/Tests/SmtpTest.php
deleted file mode 100644
index 7013960..0000000
--- a/src/Tests/SmtpTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-namespace Drupal\smtp\Tests;
-
-use Drupal\simpletest\WebTestBase;
-
-/**
- * Tests the Drupal 8 SMTP module functionality
- *
- * @group SMTP
- */
-class SmtpTest extends WebTestBase {
-
-  /**
-   * Modules to install
-   *
-   * @var array
-   */
-  public static $modules = ['smtp'];
-
-  /**
-   * Perform any initial set up tasks that run before every test method
-   */
-  public function setUp() {
-    parent::setUp();
-  }
-
-  /**
-   * Tests that the '/' path returns 200
-   */
-  public function testSiteIsLive() {
-    $this->drupalGet('');
-    $this->assertResponse(200);
-  }
-}
