phacility/phabricator · error · Exception

Application email ("%s") has an invalid default author ("%s"

Error message

Application email ("%s") has an invalid default author ("%s").

What it means

The application email does have a default author PHID, but PhabricatorPeopleQuery could not load a user for it. This is a plain Exception (an internal configuration invariant, not a usage error): the stored default author references a user that no longer exists or is invisible to the loading viewer, so every mail to this address will fail processing.

Source

Thrown at src/applications/metamta/receiver/PhabricatorApplicationMailReceiver.php:75

        // You either need to be sending from a real address or be sending to
        // an address which accepts mail from the public internet.

        if (!$author_phid) {
          throw new PhabricatorMetaMTAReceivedMailProcessingException(
            MetaMTAReceivedMailStatus::STATUS_UNKNOWN_SENDER,
            pht(
              'You are sending from an unrecognized email address to '.
              'an address which does not support public email ("%s").',
              (string)$target));
        }

        $author = id(new PhabricatorPeopleQuery())
          ->setViewer($viewer)
          ->withPHIDs(array($author_phid))
          ->executeOne();
        if (!$author) {
          throw new Exception(
            pht(
              'Application email ("%s") has an invalid default author ("%s").',
              (string)$create_address,
              $author_phid));
        }
      }

      $this
        ->setApplicationEmail($application_email)
        ->setAuthor($author);

      return true;
    }

    return false;
  }

  private function loadApplicationEmailList() {

View on GitHub (pinned to 5720a38cfe)

Solutions

  1. Edit the application email and reassign the default author to an existing, active user.
  2. Verify the stored PHID resolves: look the user up by PHID in the People application.
  3. Audit other application emails for the same dangling default-author reference.
Defensive patterns

Strategy: validation

Validate before calling

// Validate the default author resolves before relying on the address:
$author = id(new PhabricatorPeopleQuery())
  ->setViewer(PhabricatorUser::getOmnipotentUser())
  ->withPHIDs(array($application_email->getDefaultAuthorPHID()))
  ->executeOne();
if (!$author) {
  // alert an administrator: dangling default author on this application email
}

Prevention

When it happens

Trigger: The default-author user was deleted after being assigned to the application email; the PHID was edited/imported incorrectly; the user exists but is not loadable by the processing viewer.

Common situations: Account pruning when staff leave; data imports that preserve application emails but not user rows; manual PHID edits in the database.

Related errors


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