phacility/phabricator · error · PhabricatorMetaMTAReceivedMailProcessingException

err:unknown-sender

err:unknown-sender

Error message

You are sending from an unrecognized email address to an address which does not support public email ("%s").

What it means

During inbound mail processing, the sender address resolved to no Phabricator user, and the target application email has no default author configured, so the receiver cannot attribute the mail to anyone and rejects it with MetaMTAReceivedMailStatus::STATUS_UNKNOWN_SENDER ('err:unknown-sender'). As the source comment states: you either need to be sending from a real (recognized) address, or be sending to an address that accepts mail from the public internet via a default author.

Source

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

      if (!PhabricatorMailUtil::matchAddresses($create_address, $target)) {
        continue;
      }

      if ($sender) {
        $author = $sender;
      } else {
        $author_phid = $application_email->getDefaultAuthorPHID();

        // If this mail isn't from a recognized sender and the target address
        // does not have a default author, we can't accept it, and it's an
        // error because you tried to send it here.

        // 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));
        }

View on GitHub (pinned to 5720a38cfe)

Solutions

  1. Have the sender add the address they send from to their Phabricator account (Settings → Email Addresses) and resend.
  2. If the address should accept public mail, set a default author on the application email in the application's email-address configuration.
  3. Inspect the received mail (`bin/mail show-inbound --id N`) to confirm which sender/target pair failed.
Defensive patterns

Strategy: try-catch

Validate before calling

// When routing mail yourself, pre-check the sender is recognizable:
$email = id(new PhabricatorUserEmail())->loadOneWhere(
  'address = %s',
  $sender_address);
if (!$email) {
  // route only to application addresses that have a default author,
  // otherwise reject before processing
}

Try / catch

try {
  $receiver->processReceivedMail($mail, $target);
} catch (PhabricatorMetaMTAReceivedMailProcessingException $ex) {
  if ($ex->getStatusCode() === MetaMTAReceivedMailStatus::STATUS_UNKNOWN_SENDER) {
    // bounce with instructions: send from a verified account address
  }
}

Prevention

When it happens

Trigger: Replying to a Maniphest/Differential notification from an address not attached to any Phabricator account; an external party mailing an application address (e.g. maniphest@install.example.com) whose application email has no default author; a user whose notification address changed (new job domain) replying to old mail.

Common situations: Users replying from personal aliases or forwarding to a colleague who then replies; company domain migrations making old addresses unrecognized; application emails created without setting the 'Default Author' field.

Related errors


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