diff --git a/src/applications/audit/mail/PhabricatorAuditReplyHandler.php b/src/applications/audit/mail/PhabricatorAuditReplyHandler.php
--- a/src/applications/audit/mail/PhabricatorAuditReplyHandler.php
+++ b/src/applications/audit/mail/PhabricatorAuditReplyHandler.php
@@ -33,19 +33,31 @@
   protected function receiveEmail(PhabricatorMetaMTAReceivedMail $mail) {
     $commit = $this->getMailReceiver();
     $actor = $this->getActor();
+    $message = $mail->getCleanTextBody();
 
-    // TODO: Support !raise, !accept, etc.
-    // TODO: Content sources.
+    $content_source = PhabricatorContentSource::newForSource(
+      PhabricatorContentSource::SOURCE_EMAIL,
+      array(
+        'id' => $mail->getID(),
+      ));
 
-    $comment = id(new PhabricatorAuditComment())
-      ->setAction(PhabricatorAuditActionConstants::COMMENT)
-      ->setContent($mail->getCleanTextBody());
+    // TODO: Support !raise, !accept, etc.
 
-    $editor = new PhabricatorAuditCommentEditor($commit);
-    $editor->setActor($actor);
-    $editor->setExcludeMailRecipientPHIDs(
-      $this->getExcludeMailRecipientPHIDs());
-    $editor->addComments(array($comment));
+    $xactions = array();
+
+    $xactions[] = id(new PhabricatorAuditTransaction())
+      ->setTransactionType(PhabricatorTransactions::TYPE_COMMENT)
+      ->attachComment(
+        id(new PhabricatorAuditTransactionComment())
+          ->setCommitPHID($commit->getPHID())
+          ->setContent($message));
+
+    $editor = id(new PhabricatorAuditEditor($commit))
+      ->setActor($actor)
+      ->setContentSource($content_source)
+      ->setExcludeMailRecipientPHIDs($this->getExcludeMailRecipientPHIDs())
+      ->setContinueOnMissingFields(true)
+      ->applyTransactions($commit, $xactions);
   }
 
 }