phacility/phabricator · error · Exception

Email address must be @%s

Error message

Email address must be @%s

What it means

Error "Email address must be @%s" thrown in phacility/phabricator.

Source

Thrown at src/applications/people/editor/PhabricatorUserEditor.php:469

/* -(  Internals  )---------------------------------------------------------- */


  /**
   * @task internal
   */
  private function willAddEmail(PhabricatorUserEmail $email) {

    // Hard check before write to prevent creation of disallowed email
    // addresses. Normally, the application does checks and raises more
    // user friendly errors for us, but we omit the courtesy checks on some
    // pathways like administrative scripts for simplicity.

    if (!PhabricatorUserEmail::isValidAddress($email->getAddress())) {
      throw new Exception(PhabricatorUserEmail::describeValidAddresses());
    }

    if (!PhabricatorUserEmail::isAllowedAddress($email->getAddress())) {
      throw new Exception(PhabricatorUserEmail::describeAllowedAddresses());
    }

    $application_email = id(new PhabricatorMetaMTAApplicationEmailQuery())
      ->setViewer(PhabricatorUser::getOmnipotentUser())
      ->withAddresses(array($email->getAddress()))
      ->executeOne();
    if ($application_email) {
      throw new Exception($application_email->getInUseMessage());
    }
  }

  public function revokePasswordResetLinks(PhabricatorUser $user) {
    // Revoke any outstanding password reset links. If an attacker compromises
    // an account, changes the email address, and sends themselves a password
    // reset link, it could otherwise remain live for a short period of time
    // and allow them to compromise the account again later.

    PhabricatorAuthTemporaryToken::revokeTokens(

View on GitHub (pinned to 5720a38cfe)

When it happens

Trigger: Thrown at src/applications/people/editor/PhabricatorUserEditor.php:469 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21). Data as JSON: /api/errors/ab50b74e31f3ee52. Report an issue: GitHub.