Thank You. If I send an erc20 token to a random user on metamask, will he still receive the tokens if he has not added that particular erc20 token in his metamask account.
Yes he will because it's not a requirement for receiving a token. When adding the token's contract address (and other details) on Metamask, users would be able to see the ticker/token symbol and amount.
In case the user fails to add them, explorers like etherscan.com would be helpful. They can just copy their Metamask address and paste in Etherscan's search box. The transactions (and details) would appear there.