diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -1953,6 +1953,7 @@
     'PhabricatorMetaMTAActorQuery' => 'applications/metamta/query/PhabricatorMetaMTAActorQuery.php',
     'PhabricatorMetaMTAApplication' => 'applications/metamta/application/PhabricatorMetaMTAApplication.php',
     'PhabricatorMetaMTAApplicationEmail' => 'applications/metamta/storage/PhabricatorMetaMTAApplicationEmail.php',
+    'PhabricatorMetaMTAApplicationEmailDatasource' => 'applications/metamta/typeahead/PhabricatorMetaMTAApplicationEmailDatasource.php',
     'PhabricatorMetaMTAApplicationEmailPHIDType' => 'applications/phid/PhabricatorMetaMTAApplicationEmailPHIDType.php',
     'PhabricatorMetaMTAApplicationEmailQuery' => 'applications/metamta/query/PhabricatorMetaMTAApplicationEmailQuery.php',
     'PhabricatorMetaMTAAttachment' => 'applications/metamta/storage/PhabricatorMetaMTAAttachment.php',
@@ -5184,6 +5185,7 @@
       'PhabricatorMetaMTADAO',
       'PhabricatorPolicyInterface',
     ),
+    'PhabricatorMetaMTAApplicationEmailDatasource' => 'PhabricatorTypeaheadDatasource',
     'PhabricatorMetaMTAApplicationEmailPHIDType' => 'PhabricatorPHIDType',
     'PhabricatorMetaMTAApplicationEmailQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorMetaMTAConfigOptions' => 'PhabricatorApplicationConfigOptions',
diff --git a/src/applications/metamta/query/PhabricatorMetaMTAApplicationEmailQuery.php b/src/applications/metamta/query/PhabricatorMetaMTAApplicationEmailQuery.php
--- a/src/applications/metamta/query/PhabricatorMetaMTAApplicationEmailQuery.php
+++ b/src/applications/metamta/query/PhabricatorMetaMTAApplicationEmailQuery.php
@@ -6,6 +6,7 @@
   private $ids;
   private $phids;
   private $addresses;
+  private $addressPrefix;
   private $applicationPHIDs;
 
   public function withIDs(array $ids) {
@@ -23,6 +24,11 @@
     return $this;
   }
 
+  public function withAddressPrefix($prefix) {
+    $this->addressPrefix = $prefix;
+    return $this;
+  }
+
   public function withApplicationPHIDs(array $phids) {
     $this->applicationPHIDs = $phids;
     return $this;
@@ -75,6 +81,13 @@
         $this->addresses);
     }
 
+    if ($this->addressPrefix !== null) {
+      $where[] = qsprintf(
+        $conn_r,
+        'appemail.address LIKE %>',
+        $this->addressPrefix);
+    }
+
     if ($this->applicationPHIDs !== null) {
       $where[] = qsprintf(
         $conn_r,
diff --git a/src/applications/metamta/typeahead/PhabricatorMetaMTAApplicationEmailDatasource.php b/src/applications/metamta/typeahead/PhabricatorMetaMTAApplicationEmailDatasource.php
new file mode 100644
--- /dev/null
+++ b/src/applications/metamta/typeahead/PhabricatorMetaMTAApplicationEmailDatasource.php
@@ -0,0 +1,43 @@
+<?php
+
+final class PhabricatorMetaMTAApplicationEmailDatasource
+  extends PhabricatorTypeaheadDatasource {
+
+  public function getPlaceholderText() {
+    return pht('Type an application email address...');
+  }
+
+  public function getDatasourceApplicationClass() {
+    return 'PhabricatorMetaMTAApplication';
+  }
+
+  public function loadResults() {
+    $viewer = $this->getViewer();
+    $raw_query = $this->getRawQuery();
+
+    $emails = id(new PhabricatorMetaMTAApplicationEmailQuery())
+      ->setViewer($viewer)
+      ->withAddressPrefix($raw_query)
+      ->setLimit($this->getLimit())
+      ->execute();
+
+    if ($emails) {
+      $handles = id(new PhabricatorHandleQuery())
+        ->setViewer($viewer)
+        ->withPHIDs(mpull($emails, 'getPHID'))
+        ->execute();
+    } else {
+      $handles = array();
+    }
+
+    $results = array();
+    foreach ($handles as $handle) {
+      $results[] = id(new PhabricatorTypeaheadResult())
+        ->setName($handle->getName())
+        ->setPHID($handle->getPHID());
+    }
+
+    return $results;
+  }
+
+}