{"record":{"id":"99764914edda48a3","repo":"phacility/phabricator","slug":"err-unknown-sender","errorCode":"err:unknown-sender","errorMessage":"You are sending from an unrecognized email address to an address which does not support public email (\"%s\").","messagePattern":"You are sending from an unrecognized email address to an address which does not support public email \\(\"(.+?)\"\\)\\.","errorType":"exception","errorClass":"PhabricatorMetaMTAReceivedMailProcessingException","httpStatus":null,"severity":"error","filePath":"src/applications/metamta/receiver/PhabricatorApplicationMailReceiver.php","lineNumber":62,"sourceCode":"\n      if (!PhabricatorMailUtil::matchAddresses($create_address, $target)) {\n        continue;\n      }\n\n      if ($sender) {\n        $author = $sender;\n      } else {\n        $author_phid = $application_email->getDefaultAuthorPHID();\n\n        // If this mail isn't from a recognized sender and the target address\n        // does not have a default author, we can't accept it, and it's an\n        // error because you tried to send it here.\n\n        // You either need to be sending from a real address or be sending to\n        // an address which accepts mail from the public internet.\n\n        if (!$author_phid) {\n          throw new PhabricatorMetaMTAReceivedMailProcessingException(\n            MetaMTAReceivedMailStatus::STATUS_UNKNOWN_SENDER,\n            pht(\n              'You are sending from an unrecognized email address to '.\n              'an address which does not support public email (\"%s\").',\n              (string)$target));\n        }\n\n        $author = id(new PhabricatorPeopleQuery())\n          ->setViewer($viewer)\n          ->withPHIDs(array($author_phid))\n          ->executeOne();\n        if (!$author) {\n          throw new Exception(\n            pht(\n              'Application email (\"%s\") has an invalid default author (\"%s\").',\n              (string)$create_address,\n              $author_phid));\n        }","sourceCodeStart":44,"sourceCodeEnd":80,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/metamta/receiver/PhabricatorApplicationMailReceiver.php#L44-L80","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Have the sender add the address they send from to their Phabricator account (Settings → Email Addresses) and resend.","If the address should accept public mail, set a default author on the application email in the application's email-address configuration.","Inspect the received mail (`bin/mail show-inbound --id N`) to confirm which sender/target pair failed."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// When routing mail yourself, pre-check the sender is recognizable:\n$email = id(new PhabricatorUserEmail())->loadOneWhere(\n  'address = %s',\n  $sender_address);\nif (!$email) {\n  // route only to application addresses that have a default author,\n  // otherwise reject before processing\n}","typeGuard":null,"tryCatchPattern":"try {\n  $receiver->processReceivedMail($mail, $target);\n} catch (PhabricatorMetaMTAReceivedMailProcessingException $ex) {\n  if ($ex->getStatusCode() === MetaMTAReceivedMailStatus::STATUS_UNKNOWN_SENDER) {\n    // bounce with instructions: send from a verified account address\n  }\n}","preventionTips":["Tell users to reply only from addresses listed on their Phabricator account.","Set a default author on any application email that must accept public mail.","After domain migrations, audit verified addresses and notify users to add new ones.","Monitor received-mail records for err:unknown-sender to catch the problem early."],"tags":["php","phabricator","mail","inbound-email","sender-verification"],"backgroundTag":"unrecognized-mail-sender","analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}