Catch all mailbox is a mailbox which receives/catches all the mails sent to non-existent mailbox in an organization. It allows you to receive email sent to your domain that might be misaddressed or misspelled.Even mail sent to email addresses at your domain that don't exist mails will be delivered to catch all mailbox rather than having the email "bounced," or returned to the sender,

It can be helpful for the organizations comes up with legal requirement to receive all mails sent to organization irrespective of user mailbox existence. 

Step : 1

  1. Create a Distribution Group & add all users as members (allusers@domain.com), Better this can be Dynamic Distribution Group, Select an option to Include "All Recipient Types"
  2. Create a Dedicated Mailbox to Catch emails, Which sent to non-existent mail address in Org (Here “Catchall” is Catch all mailbox)
  3. Set the DomainType to “InternalRelay” (Doing this will make the Rules to take precedence)
  4. ECP-> Mailflow -> AcceptedDomains -> Select Domain -> Change the type to InternalRelay


Step : 2

Create a Mailflow Transport Rule as mentioned below:

  1. If the Sender "Outside the Organization"
  2. Redirect the message to Catchall@domain.com
  3. Except if the recipient is member of allusers@domain.com (Distribution Group contains all members)
  4. Ensure to validate that new mailboxes are added into Dynamic Distribution Group

 
Note : NDR's won't be generated, Not applicable for Hybrid, Co-Existence, Small business (as no mail-flow rules), Not officially supported by Office365 Support, Test this in Lab before implementing into production. Dynamic Distribution Group is recommended.