It doesn't accept all domains, it only accepts the (usually small) list of locally defined virtual domains.
It does not matter how many domains are in question.
If the "other domain" email addresses are not used for outgoing (sent) email, they won't receive any significant amount of incoming email.
It is unnaceptable that mail server receives email for addresses that were not intentioneously set. SME runs very powerful mail server and this kind of setup just criples it to illogical functionality. I've never seen before mail server to behave like that.
And if you create an user with the second domain name that user will get his mail only.
Can you elaborate on that? If I understood well, what I read in documentation, if i create account john it will acept email for john@primary.com, john@secondary.com, john@terciary.com and any other email that is set on that SME server, and if I have three Johns which are different persons I have to do some nasty configuration.
Even worse, if someone tries to send email to johnm@primary.com, but makes typo and m is left out of address, he will not receive error, but email would be sent to someone it was not supposed to be sent.
This is just ridiculous.