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
@@ -3216,6 +3216,7 @@
     'PhabricatorEmailFormatSetting' => 'applications/settings/setting/PhabricatorEmailFormatSetting.php',
     'PhabricatorEmailFormatSettingsPanel' => 'applications/settings/panel/PhabricatorEmailFormatSettingsPanel.php',
     'PhabricatorEmailLoginController' => 'applications/auth/controller/PhabricatorEmailLoginController.php',
+    'PhabricatorEmailLoginUserLogType' => 'applications/people/userlog/PhabricatorEmailLoginUserLogType.php',
     'PhabricatorEmailNotificationsSetting' => 'applications/settings/setting/PhabricatorEmailNotificationsSetting.php',
     'PhabricatorEmailPreferencesSettingsPanel' => 'applications/settings/panel/PhabricatorEmailPreferencesSettingsPanel.php',
     'PhabricatorEmailRePrefixSetting' => 'applications/settings/setting/PhabricatorEmailRePrefixSetting.php',
@@ -9343,6 +9344,7 @@
     'PhabricatorEmailFormatSetting' => 'PhabricatorSelectSetting',
     'PhabricatorEmailFormatSettingsPanel' => 'PhabricatorEditEngineSettingsPanel',
     'PhabricatorEmailLoginController' => 'PhabricatorAuthController',
+    'PhabricatorEmailLoginUserLogType' => 'PhabricatorUserLogType',
     'PhabricatorEmailNotificationsSetting' => 'PhabricatorSelectSetting',
     'PhabricatorEmailPreferencesSettingsPanel' => 'PhabricatorSettingsPanel',
     'PhabricatorEmailRePrefixSetting' => 'PhabricatorSelectSetting',
diff --git a/src/applications/auth/controller/PhabricatorEmailLoginController.php b/src/applications/auth/controller/PhabricatorEmailLoginController.php
--- a/src/applications/auth/controller/PhabricatorEmailLoginController.php
+++ b/src/applications/auth/controller/PhabricatorEmailLoginController.php
@@ -104,10 +104,16 @@
         if (!$errors) {
           $target_address = new PhutilEmailAddress($target_email->getAddress());
 
+          $user_log = PhabricatorUserLog::initializeNewLog(
+            $viewer,
+            $target_user->getPHID(),
+            PhabricatorEmailLoginUserLogType::LOGTYPE);
+
           $mail_engine = id(new PhabricatorPeopleEmailLoginMailEngine())
             ->setSender($viewer)
             ->setRecipient($target_user)
-            ->setRecipientAddress($target_address);
+            ->setRecipientAddress($target_address)
+            ->setActivityLog($user_log);
 
           try {
             $mail_engine->validateMail();
diff --git a/src/applications/people/mail/PhabricatorPeopleMailEngine.php b/src/applications/people/mail/PhabricatorPeopleMailEngine.php
--- a/src/applications/people/mail/PhabricatorPeopleMailEngine.php
+++ b/src/applications/people/mail/PhabricatorPeopleMailEngine.php
@@ -6,6 +6,7 @@
   private $sender;
   private $recipient;
   private $recipientAddress;
+  private $activityLog;
 
   final public function setSender(PhabricatorUser $sender) {
     $this->sender = $sender;
@@ -47,6 +48,15 @@
     return ($this->recipientAddress !== null);
   }
 
+  final public function setActivityLog(PhabricatorUserLog $activity_log) {
+    $this->activityLog = $activity_log;
+    return $this;
+  }
+
+  final public function getActivityLog() {
+    return $this->activityLog;
+  }
+
   final public function canSendMail() {
     try {
       $this->validateMail();
@@ -68,6 +78,18 @@
       $mail->addTos(array($recipient->getPHID()));
     }
 
+    $activity_log = $this->getActivityLog();
+    if ($activity_log) {
+      $activity_log->save();
+
+      $body = array();
+      $body[] = rtrim($mail->getBody(), "\n");
+      $body[] = pht('Activity Log ID: #%d', $activity_log->getID());
+      $body = implode("\n\n", $body)."\n";
+
+      $mail->setBody($body);
+    }
+
     $mail
       ->setForceDelivery(true)
       ->save();
diff --git a/src/applications/people/userlog/PhabricatorEmailLoginUserLogType.php b/src/applications/people/userlog/PhabricatorEmailLoginUserLogType.php
new file mode 100644
--- /dev/null
+++ b/src/applications/people/userlog/PhabricatorEmailLoginUserLogType.php
@@ -0,0 +1,12 @@
+<?php
+
+final class PhabricatorEmailLoginUserLogType
+  extends PhabricatorUserLogType {
+
+  const LOGTYPE = 'email-login';
+
+  public function getLogTypeName() {
+    return pht('Email: Recovery Link');
+  }
+
+}