Follow this:
https://thomas-leister.de/en/mailserver-debian-stretch/
Notes: See this section DKIM is a single domain setup. For multiple domains we need multiple DKIM keys. In /etc/rspamd/local.d/dkim_signing.conf, we would rather need something like this (source):
path = "/var/lib/rspamd/dkim/$domain.$selector.key";
Also checkout out comments here for DNS "Your record would need to be for x._domainkey.subdomain.example.com"
With this setup, for adding aliases, to send or receive from the same account, using different addresses, just add to the aliases table in the database, and don't forget to set enabled=1.
Todo:
Look at spamassassin and OpenDkim instead of rspamd (uses relatively much memory) https://www.digitalocean.com/community/tutorials/how-to-configure-a-mail-server-using-postfix-dovecot-mysql-and-spamassassin https://www.sophimail.com/configure-freebsd-email-server-using-postfix-dovecot-mysql-spamassassin/