How about create a new mail user 'spam@mydomain.com' in LDAP, then forward all mails to user1@?
With iRedAdmin-Pro-LDAP, it's easy to config forwarding addresses for a mail user. Steps:
1: Login to iRedAdmin (open source edition): httpS://your_server/iredadmin/
2: Create a new mail user 'spam@mydomain.com'. It will redirect you to user profile page of spam@ after account successfully created.
3: In user profile page, click tab 'Forwarding'. Add 'user1@mydomain.com' (without quotes) as forwarding address. Save changes. iRedAdmin will check whether account 'user1@mydomain.com' exist on server, and discard it if not existing.
That's all. Screenshot for your reference:
But you didn't mention you have iRedAdmin-Pro-LDAP installed, so i guess you're running iRedAdmin open source edition. That's fine, you can easily achieve this with below steps:
1: Login to iRedAdmin (open source edition): httpS://your_server/iredadmin/
2: Create a new mail user 'spam@mydomain.com'
3: Login to phpLDAPadmin: httpS://your_server/phpldapadmin/
4: in phpLDAPadmin, Make sure user 'spam@' has below attribute/value:
accountStatus: active
enabledService: deliver
enabledService: forward
5: Add new attribute mailForwardingAddress, input 'user1@mydomain.com' (without quotes, of course) as its value. Save changes.
That's all.
You can verify the forwarding with below command, it should output 'user1@mydomain.com':
# postmap -q 'spam@mydomain.com' ldap:/etc/postfix/ldap/virtual_alias_maps.cf
user1@mydomain.com
Hope it helps.
Note: You can assign multiple email addresses as forwarding addresses.