I know this is an old thread, but I felt this info was useful: While the documented "alias domain" does do the job (and, I assume, adds the ability for the user to log into either domain?), if you're doing it manually (vs. using the Pro WebUI) it's painful because you still have to add individual aliases for each email user, yet you still lose the ability to easily see "what addresses on domain A will forward to domain B" and the flexibility that you'd have if you e.g. set up regular users and used Sieve redirection. So it doesn't make life any easier for the admin.
I think that a good solution for many people (which I just tested) is to create a normal domain and use the "mail alias account" ( https://docs.iredmail.org/ldap.add.mail.alias.html ) with "user-less" addresses. For example, I want all mail for domain A to instead go to domain B, where my users are set up. I'd set up a mailing list (mail alias) on A that says to send mail for "@domainA.com" to "@domainB.com". All mail for domain A will be rewritten to domain B, and you don't have to set up individual user accounts.
You can combine this with individual "user" address aliases (and, I suppose, regular user accounts); the "@domainB.com" is a fallback default that only takes effect if a more specific redirection doesn't take place first. For example, "user1@domainA.com" can be delivered locally, "user2@domainA.com" can be redirected to "someone@google.com", and everything else at domain A will still attempt to be delivered to the same address at domain B. You get both convenience and flexibility at the same time.