diff --git a/core/modules/contact/src/MailHandler.php b/core/modules/contact/src/MailHandler.php
index bac7659..bb3b95e 100644
--- a/core/modules/contact/src/MailHandler.php
+++ b/core/modules/contact/src/MailHandler.php
@@ -122,7 +122,14 @@ public function sendMailMessages(MessageInterface $message, AccountInterface $se
     if (!$message->isPersonal() && $contact_form->getReply()) {
       // User contact forms do not support an auto-reply message, so this
       // message always originates from the site.
-      $this->mailManager->mail('contact', 'page_autoreply', $sender_cloned->getEmail(), $current_langcode, $params);
+      if (!$sender_cloned->getEmail()) {
+        $this->logger->error('Error sending auto-reply, missing sender e-mail address in %contact_form', [
+          '%contact_form' => $contact_form->label(),
+        ]);
+      }
+      else {
+        $this->mailManager->mail('contact', 'page_autoreply', $sender_cloned->getEmail(), $current_langcode, $params);
+      }
     }
 
     if (!$message->isPersonal()) {
diff --git a/core/modules/contact/src/Tests/ContactSitewideTest.php b/core/modules/contact/src/Tests/ContactSitewideTest.php
index c148715..c00ad3d 100644
--- a/core/modules/contact/src/Tests/ContactSitewideTest.php
+++ b/core/modules/contact/src/Tests/ContactSitewideTest.php
@@ -27,7 +27,7 @@ class ContactSitewideTest extends WebTestBase {
    *
    * @var array
    */
-  public static $modules = array('text', 'contact', 'field_ui', 'contact_test', 'block');
+  public static $modules = ['text', 'contact', 'field_ui', 'contact_test', 'block', 'error_service_test', 'dblog'];
 
   /**
    * {@inheritdoc}
@@ -44,13 +44,13 @@ protected function setUp() {
    */
   function testSiteWideContact() {
     // Create and log in administrative user.
-    $admin_user = $this->drupalCreateUser(array(
+    $admin_user = $this->drupalCreateUser([
       'access site-wide contact form',
       'administer contact forms',
       'administer users',
       'administer account settings',
       'administer contact_message fields',
-    ));
+    ]);
     $this->drupalLogin($admin_user);
 
     // Check the presence of expected cache tags.
@@ -346,7 +346,13 @@ function testSiteWideContact() {
    */
   function testAutoReply() {
     // Create and log in administrative user.
-    $admin_user = $this->drupalCreateUser(array('access site-wide contact form', 'administer contact forms', 'administer permissions', 'administer users'));
+    $admin_user = $this->drupalCreateUser([
+      'access site-wide contact form',
+      'administer contact forms',
+      'administer permissions',
+      'administer users',
+      'access site reports'
+    ]);
     $this->drupalLogin($admin_user);
 
     // Set up three forms, 2 with an auto-reply and one without.
@@ -384,6 +390,20 @@ function testAutoReply() {
     $this->submitContact($this->randomMachineName(16), $email, $this->randomString(64), 'no_autoreply', $this->randomString(128));
     $captured_emails = $this->drupalGetMails(array('id' => 'contact_page_autoreply', 'to' => $email));
     $this->assertEqual(count($captured_emails), 0);
+
+    // Verify that the current error message doesn't show, that the auto-reply
+    // doesn't get sent and the correct silent error gets logged.
+    $email = '';
+    entity_get_form_display('contact_message', 'foo', 'default')
+      ->removeComponent('mail')
+      ->save();
+    $this->submitContact($this->randomMachineName(16), $email, $this->randomString(64), 'foo', $this->randomString(128));
+    $this->assertNoText('Unable to send email. Contact the site administrator if the problem persists.');
+    $captured_emails = $this->drupalGetMails(['id' => 'contact_page_autoreply', 'to' => $email]);
+    $this->assertEqual(count($captured_emails), 0);
+    $this->drupalLogin($admin_user);
+    $this->drupalGet('admin/reports/dblog');
+    $this->assertRaw('Error sending auto-reply, missing sender e-mail address in foo');
   }
 
   /**
diff --git a/modules/poll b/modules/poll
index e45b3be..fcba587 160000
--- a/modules/poll
+++ b/modules/poll
@@ -1 +1 @@
-Subproject commit e45b3be18aa2baeee9ab67edc9901dc33190eeae
+Subproject commit fcba58749a3f2b9572883dbf7c66c183db1f393c
