{"record":{"id":"e4cc4651d064cbd1","repo":"phacility/phabricator","slug":"err-no-receivers","errorCode":"err:no-receivers","errorMessage":"This mail can not be processed because no application knows how to handle it. Check that the address you sent it to is correct.","messagePattern":"This mail can not be processed because no application knows how to handle it\\. Check that the address you sent it to is correct\\.","errorType":"exception","errorClass":"PhabricatorMetaMTAReceivedMailProcessingException","httpStatus":null,"severity":"warning","filePath":"src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php","lineNumber":270,"sourceCode":"            MetaMTAReceivedMailStatus::STATUS_RESERVED,\n            pht(\n              'No application handled this mail. This mail was sent to a '.\n              'reserved recipient (\"%s\") so bounces are suppressed.',\n              (string)$reserved_recipient));\n        } else if (!$sender) {\n          // NOTE: Currently, we'll always drop this mail (since it's headed to\n          // an unverified recipient). See T12237. These details are still\n          // useful because they'll appear in the mail logs and Mail web UI.\n\n          throw new PhabricatorMetaMTAReceivedMailProcessingException(\n            MetaMTAReceivedMailStatus::STATUS_UNKNOWN_SENDER,\n            pht(\n              'This email was sent from an email address (\"%s\") that is not '.\n              'associated with a registered user account. To interact via '.\n              'email, add this address to your account.',\n              (string)$this->newFromAddress()));\n        } else {\n          throw new PhabricatorMetaMTAReceivedMailProcessingException(\n            MetaMTAReceivedMailStatus::STATUS_NO_RECEIVERS,\n            pht(\n              'This mail can not be processed because no application '.\n              'knows how to handle it. Check that the address you sent it to '.\n              'is correct.'));\n        }\n      }\n    } catch (PhabricatorMetaMTAReceivedMailProcessingException $ex) {\n      switch ($ex->getStatusCode()) {\n        case MetaMTAReceivedMailStatus::STATUS_DUPLICATE:\n        case MetaMTAReceivedMailStatus::STATUS_FROM_PHABRICATOR:\n          // Don't send an error email back in these cases, since they're\n          // very unlikely to be the sender's fault.\n          break;\n        case MetaMTAReceivedMailStatus::STATUS_RESERVED:\n          // This probably is the sender's fault, but it's likely an accident\n          // that we received the mail at all.\n          break;","sourceCodeStart":252,"sourceCodeEnd":288,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php#L252-L288","documentation":"The generic 'no receiver' failure in PhabricatorMetaMTAReceivedMail: a known, valid sender was resolved, some recipient address was non-reserved, but no application receiver claimed the mail (STATUS_NO_RECEIVERS). Unlike the reserved-recipient and unknown-sender branches, this one produces a bounce telling the user no application knows how to handle the message.","triggerScenarios":"Receiver loop-over getToAddresses/getCCAddresses finds no matching application handler (no address matches any receiver pattern such asbugs@, D123+...@, or a user's personal mail handler) while $sender is non-null. Classic: a typo in the application address (barges@ vs bugs@), an application's address-format that no receiver is configured for, or handlers disabled for that application.","commonSituations":"Typo'd application alias; sending to a generic company address that is not routed to Phabricator; the intended application (e.g. Maniphest) no longer installed/receiving; address prefix configuration changed so old documented addresses no longer match receivers.","solutions":["Verify the exact recipient address against the application's configured address (Config > MetaMTA / application settings, e.g. 'metamta.maniphest.public-create-email').","Check the mail actually reached Phabricator's inbound pipeline (MetaMTA > Received Mail) and inspect its To/CC headers for rewrites by your MTA or mailing list.","Admins: confirm the relevant application receiver is enabled and its configured address prefix matches what users are told to use.","Prefer replying to an existing notification (which carries a valid generated address) over hand-composing application addresses."],"exampleFix":"// before: To: barges@phabricator.example (typo, no receiver matches)\n// -> sender known, nothing accepts -> err:no-receivers (bounce)\n\n// after: To: bugs@phabricator.example (the configured Maniphest address)","handlingStrategy":"validation","validationCode":"// Before sending to an application address, confirm it matches a configured receiver:\n$valid = PhabricatorEnv::getEnvConfig(\n  'metamta.maniphest.public-create-email'); // example for Maniphest\nif ($to_address !== $valid) {\n  // wrong address: look up the application's real configured address first\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Copy application addresses from Config > MetaMTA, never from memory or unrelated docs.","Reply to an existing notification when possible; its address is guaranteed routed.","After changing application address config, update runbooks and aliases that embed old addresses."],"tags":["metamta","email","routing","application-address","inbound-mail"],"backgroundTag":"unhandled-inbound-mail","analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}