diff --git a/includes/webform.update.inc b/includes/webform.update.inc
index 5f000044..f122ef61 100644
--- a/includes/webform.update.inc
+++ b/includes/webform.update.inc
@@ -11,6 +11,7 @@ use Drupal\Core\Render\Element;
 use Drupal\webform\Entity\Webform;
 use Drupal\webform\Entity\WebformOptions;
 use Drupal\webform\Plugin\Field\FieldType\WebformEntityReferenceItem;
+use Drupal\webform\Utility\WebformOptionsHelper;
 use Drupal\webform\WebformInterface;
 
 /******************************************************************************/
diff --git a/modules/webform_templates/config/install/webform.webform.template_feedback.yml b/modules/webform_templates/config/install/webform.webform.template_feedback.yml
index 64174014..e4002806 100644
--- a/modules/webform_templates/config/install/webform.webform.template_feedback.yml
+++ b/modules/webform_templates/config/install/webform.webform.template_feedback.yml
@@ -165,11 +165,16 @@ handlers:
         - completed
       to_mail: '[webform_submission:values:type:raw]'
       to_options:
-        Comments: '[site:mail]'
-        'Report a Bug': '[site:mail]'
-        Questions: '[site:mail]'
-        _other_: '[site:mail]'
-        _default_: '[site:mail]'
+        - value: Comments
+          text: '[site:mail]'
+        - value: 'Report a Bug'
+          text: '[site:mail]'
+        - value: Questions
+          text: '[site:mail]'
+        - value: _other_
+          text: '[site:mail]'
+        - value: _default_
+          text: '[site:mail]'
       cc_mail: ''
       cc_options: {  }
       bcc_mail: ''
diff --git a/src/Plugin/WebformHandler/EmailWebformHandler.php b/src/Plugin/WebformHandler/EmailWebformHandler.php
index 5b8ee511..bb1361aa 100644
--- a/src/Plugin/WebformHandler/EmailWebformHandler.php
+++ b/src/Plugin/WebformHandler/EmailWebformHandler.php
@@ -17,6 +17,7 @@ use Drupal\webform\Element\WebformMessage;
 use Drupal\webform\Element\WebformSelectOther;
 use Drupal\webform\Plugin\WebformElement\WebformManagedFileBase;
 use Drupal\webform\Utility\WebformElementHelper;
+use Drupal\webform\Utility\WebformOptionsHelper;
 use Drupal\webform\WebformElementManagerInterface;
 use Drupal\webform\WebformHandlerBase;
 use Drupal\webform\WebformHandlerMessageInterface;
@@ -514,7 +515,14 @@ class EmailWebformHandler extends WebformHandlerBase implements WebformHandlerMe
 
     foreach ($this->configuration as $name => $value) {
       if (isset($values[$name])) {
-        $this->configuration[$name] = $values[$name];
+        // Convert options array to safe config array to prevent errors.
+        // @see https://www.drupal.org/node/2297311
+        if (preg_match('/_options$/', $name)) {
+          $this->configuration[$name] = WebformOptionsHelper::encodeConfig($values[$name]);
+        }
+        else {
+          $this->configuration[$name] = $values[$name];
+        }
       }
     }
   }
@@ -1136,7 +1144,7 @@ class EmailWebformHandler extends WebformHandlerBase implements WebformHandlerMe
         '#description_display' => 'before',
         '#required' => TRUE,
         '#parents' => ['settings', $options_name],
-        '#default_value' => $this->configuration[$options_name],
+        '#default_value' => WebformOptionsHelper::decodeConfig($this->configuration[$options_name]),
 
         '#source' => $mapping_options,
         '#source__title' => $this->t('Option'),
diff --git a/src/Utility/WebformOptionsHelper.php b/src/Utility/WebformOptionsHelper.php
index 174c0e3f..33393f92 100644
--- a/src/Utility/WebformOptionsHelper.php
+++ b/src/Utility/WebformOptionsHelper.php
@@ -154,4 +154,41 @@ class WebformOptionsHelper {
     return array_combine($range, $range);
   }
 
+  /**
+   * Convert options to array that can serialized to Drupal's configuration management system.
+   *
+   * @param array $options
+   *   An associative array containing options value and text.
+   *
+   * @return array
+   *   An array contain option text and value.
+   */
+  public static function encodeConfig(array $options) {
+    $config = [];
+    foreach ($options as $value => $text) {
+      $config[] = [
+        'value' => $value,
+        'text' => $text,
+      ];
+    }
+    return $config;
+  }
+
+  /**
+   * Convert config from Drupal's configuration management system to options array.
+   *
+   * @param array $config
+   *   An array contain option text and value.
+   *
+   * @return array
+   *   An associative array containing options value and text.
+   */
+  public static function decodeConfig(array $config) {
+    $options = [];
+    foreach ($config as $option) {
+      $options[$option['value']] = $option['text'];
+    }
+    return $options;
+  }
+
 }
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_mapping.yml b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_mapping.yml
index 1713196a..704138dc 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_mapping.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_mapping.yml
@@ -133,7 +133,8 @@ handlers:
         - completed
       to_mail: '[webform_submission:values:select:raw]'
       to_options:
-        'Yes': yes@example.com
+        - value: 'Yes'
+          text: yes@example.com
       cc_mail: ''
       cc_options: {  }
       bcc_mail: ''
@@ -160,7 +161,8 @@ handlers:
         - completed
       to_mail: '[webform_submission:values:select:raw]'
       to_options:
-        _empty_: empty@example.com
+        - value: _empty_
+          text: empty@example.com
       cc_mail: ''
       cc_options: {  }
       bcc_mail: ''
@@ -187,7 +189,8 @@ handlers:
         - completed
       to_mail: '[webform_submission:values:select:raw]'
       to_options:
-        _default_: default@default.com
+        - value: _default_
+          text: default@default.com
       cc_mail: ''
       cc_options: {  }
       bcc_mail: ''
@@ -214,8 +217,10 @@ handlers:
         - completed
       to_mail: '[webform_submission:values:checkboxes:raw]'
       to_options:
-        Sunday: sunday@example.com
-        Saturday: saturday@example.com
+        - value: Sunday
+          text: sunday@example.com
+        - value: Saturday
+          text: saturday@example.com
       cc_mail: ''
       cc_options: {  }
       bcc_mail: ''
@@ -242,7 +247,8 @@ handlers:
         - completed
       to_mail: '[webform_submission:values:radios_other:raw]'
       to_options:
-        _other_: other@example.com
+        - value: _other_
+          text: other@example.com
       cc_mail: ''
       cc_options: {  }
       bcc_mail: ''
diff --git a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_roles.yml b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_roles.yml
index 6b54e651..e9d14b3f 100644
--- a/tests/modules/webform_test/config/install/webform.webform.test_handler_email_roles.yml
+++ b/tests/modules/webform_test/config/install/webform.webform.test_handler_email_roles.yml
@@ -125,9 +125,12 @@ handlers:
         - completed
       to_mail: '[webform_submission:values:role:raw]'
       to_options:
-        authenticated: '[webform_role:authenticated]'
-        administrator: '[webform_role:administrator]'
-        other: '[webform_role:other]'
+        - value: authenticated
+          text: '[webform_role:authenticated]'
+        - value: administrator
+          text: '[webform_role:administrator]'
+        - value: other
+          text: '[webform_role:other]'
       cc_mail: ''
       cc_options: {  }
       bcc_mail: ''
diff --git a/webform.install b/webform.install
index adbfc593..4a72b390 100644
--- a/webform.install
+++ b/webform.install
@@ -11,6 +11,7 @@ use Drupal\Core\Serialization\Yaml;
 use Drupal\system\Entity\Action;
 use Drupal\webform\Entity\Webform;
 use Drupal\webform\Plugin\WebformElement\ManagedFile;
+use Drupal\webform\Utility\WebformOptionsHelper;
 use Drupal\webform\WebformInterface;
 
 include_once 'includes/webform.update.inc';
@@ -448,3 +449,33 @@ function webform_update_8041() {
   $config->setData($data);
   $config->save();
 }
+
+
+/**
+ * Issue #2875371: Can't Add Email Handler w/Select "Send To".
+ */
+function webform_update_8042() {
+  $settings = ['to_options', 'cc_options', 'bcc_options', 'from_options'];
+
+  $config_factory = \Drupal::configFactory();
+  foreach ($config_factory->listAll('webform.webform.') as $webform_config_name) {
+    $webform_config = $config_factory->getEditable($webform_config_name);
+
+    $data = $webform_config->getRawData();
+    $has_email_handler = FALSE;
+    foreach ($data['handlers'] as &$handler) {
+      if ($handler['id'] === 'email') {
+        foreach ($settings as $setting_name) {
+          if (!empty($handler['settings'][$setting_name])) {
+            $has_email_handler = TRUE;
+            $handler['settings'][$setting_name] = WebformOptionsHelper::encodeConfig($handler['settings'][$setting_name]);
+          }
+        }
+      }
+    }
+    if ($has_email_handler) {
+      $webform_config->setData($data);
+      $webform_config->save();
+    }
+  }
+}
