diff --git a/modules/monitoring_mail/monitoring_mail.install b/modules/monitoring_mail/monitoring_mail.install
new file mode 100644
index 0000000..59c2b21
--- /dev/null
+++ b/modules/monitoring_mail/monitoring_mail.install
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * @file
+ * Install file for the monitoring_mail module.
+ */
+
+use Drupal\Core\Url;
+
+/**
+ * Implements hook_requirements().
+ */
+function monitoring_mail_requirements($phase) {
+
+  $requirements = [];
+
+  if ($phase == 'runtime') {
+    if (\Drupal::config('monitoring.settings')->get('sensor_call_logging') == 'none') {
+      // Without logging, a mail would NOT be triggered on each sensor run.
+      $requirements['monitoring_mail_log'] = [
+        'title' => t('Monitoring Mail'),
+        'value' => t('If logging is disabled, no mail is sent.'),
+        'severity' => REQUIREMENT_WARNING,
+      ];
+    }
+
+    // Check if the monitoring_mail recipient is set.
+    $requirements['monitoring_mail_recipient'] = [
+      'title' => t('Monitoring Mail recipient'),
+      'value' => \Drupal::config('monitoring_mail.settings')->get('mail'),
+      'severity' => REQUIREMENT_INFO,
+    ];
+
+    // Set a warning if the user has NOT provided a recipient mail address yet.
+    if (!\Drupal::config('monitoring_mail.settings')->get('mail')) {
+      $warning_value =  t('No recipient defined');
+      $description = t('No recipient has been provided. Please set one in the <a href="@monitoring_settings">monitoring settings</a>.', [
+        '@monitoring_settings' => Url::fromRoute('monitoring.settings')->toString(),
+      ]);
+
+      $requirements['monitoring_mail_recipient']['value'] = $warning_value;
+      $requirements['monitoring_mail_recipient']['severity'] = REQUIREMENT_WARNING;
+      $requirements['monitoring_mail_recipient']['description'] = $description;
+    }
+  }
+
+  return $requirements;
+}
diff --git a/modules/monitoring_mail/tests/src/Kernel/MonitoringMailKernelTest.php b/modules/monitoring_mail/tests/src/Kernel/MonitoringMailKernelTest.php
index c751de2..7d75417 100644
--- a/modules/monitoring_mail/tests/src/Kernel/MonitoringMailKernelTest.php
+++ b/modules/monitoring_mail/tests/src/Kernel/MonitoringMailKernelTest.php
@@ -117,4 +117,48 @@ class MonitoringMailKernelTest extends MonitoringUnitTestBase {
     $this->assertEquals('OK', $result->getStatus());
     $this->assertEquals(2, count($this->getMails()));
   }
+
+  /**
+   * Tests monitoring_mail_requirements().
+   */
+  public function testMonitoringMailRequirements() {
+    $sensor_runner = \Drupal::service('monitoring.sensor_runner');
+    $sensorConfig = SensorConfig::load('core_requirements_monitoring_mail');
+
+    // Run monitoring_mail (Requirements) and make sure the message contains
+    // the recipient and status set to OK.
+    $result = $sensor_runner->runSensors([$sensorConfig])[0];
+    $this->assertEquals(SensorResultInterface::STATUS_OK, $result->getStatus());
+    $this->assertContains('Monitoring Mail recipient', $result->getMessage());
+    $this->assertContains('mail@example.com', $result->getMessage());
+
+    // Clear cache to reset results.
+    \Drupal::cache('default')->deleteAll();
+    // Set monitoring mail settings so that the sensor switches to WARNING.
+    \Drupal::configFactory()
+      ->getEditable('monitoring_mail.settings')
+      ->set('mail', '')
+      ->save();
+
+    // Run monitoring_mail (Requirements) again and make sure it has warning
+    // message for no recipient provided and status set to WARNING.
+    $result = $sensor_runner->runSensors([$sensorConfig])[0];
+    $this->assertEquals(SensorResultInterface::STATUS_WARNING, $result->getStatus());
+    $this->assertContains('No recipient has been provided.', $result->getMessage());
+
+    // Clear cache to reset results.
+    \Drupal::cache('default')->deleteAll();
+    // Set the logging to none.
+    \Drupal::configFactory()
+      ->getEditable('monitoring.settings')
+      ->set('sensor_call_logging', 'none')
+      ->save();
+
+    // Run monitoring_mail (Requirements) again and make sure it has warning
+    // message for disabled logging and status set to WARNING.
+    $result = $sensor_runner->runSensors([$sensorConfig])[0];
+    $this->assertEquals(SensorResultInterface::STATUS_WARNING, $result->getStatus());
+    $this->assertContains('If logging is disabled, no mail is sent.', $result->getMessage());
+
+  }
 }
