 reroute_email.admin.inc |  2 +-
 reroute_email.module    | 13 ++++++++-----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/reroute_email.admin.inc b/reroute_email.admin.inc
index fae415b..b82aec8 100644
--- a/reroute_email.admin.inc
+++ b/reroute_email.admin.inc
@@ -19,7 +19,7 @@ function reroute_email_settings() {
     '#type'          => 'textfield',
     '#title'         => t('Email addresses'),
     '#default_value' => variable_get(REROUTE_EMAIL_ADDRESS, variable_get('site_mail', ini_get('sendmail_from'))),
-    '#description'   => t('Provide a space, comma, or semicolon-delimited list of email addresses to pass through. Every destination email address which is not on this list will be rerouted to the first address on the list.'),
+    '#description'   => t('Provide a space, comma, or semicolon-delimited list of email addresses to pass through. Every destination email address which is not on this list will be rerouted to the first address on the list.<br/> If the field is empty and no value is provided, <strong>all outgoing emails would be aborted</strong> and the email would be recorded in the <a href="@dblog">recent log entries</a>.', array('@dblog' => url('admin/reports/dblog'))),
     '#states' => array(
       'visible' => array(':input[name=reroute_email_enable]' => array('checked' => TRUE)),
     ),
diff --git a/reroute_email.module b/reroute_email.module
index 5f1d5f2..0245ed4 100644
--- a/reroute_email.module
+++ b/reroute_email.module
@@ -70,11 +70,6 @@ function reroute_email_mail_alter(&$message) {
   if (variable_get(REROUTE_EMAIL_ENABLE, 0)) {
     global $base_url;
 
-    if (!variable_get(REROUTE_EMAIL_ADDRESS, '')) {
-      // If email address not in settings, then do nothing.
-      return;
-    }
-
     if (empty($message)) {
       return;
     }
@@ -141,6 +136,14 @@ function reroute_email_mail_alter(&$message) {
         }
       }
     }
+    if (!variable_get(REROUTE_EMAIL_ADDRESS, '')) {
+      // Abort sending of the email if rerouting destination address is empty.
+      $message['send'] = FALSE;
+      // Record a variable dump of the email in the recent log entries.
+      watchdog('reroute_email', format_string('Aborted email sending for <em>@message_id</em>. <br/>Detailed email data: Array $message <pre>@message</pre>', array('@message_id' => $message['id'], '@message' => print_r($message, TRUE))), array(), WATCHDOG_NOTICE);
+      // Let users know email has been aborted, but logged.
+      drupal_set_message(t('<em>@message_id</em> was aborted by reroute email, please check the <a href="@dblog">recent log entries</a> for complete details on the rerouted email.', array('@message_id' => $message['id'], '@dblog' => url('admin/reports/dblog'))));
+    }
   }
 }
 
