For a simple use case, you don't need to do anything too special. Just be sure to configure
smtp.smb.local) as the SMTP server from the client VM. If you want to use the hostname instead of the IP, you'll either need to setup DNS (below) or edit the
hosts file of the client VM. However, I'm not sure that this will meet your request for setting up a "virtual domain".
For a more advanced case, you could setup at least a minimal DNS server so that you can serve the
MX records necessary for a client looking at "smb.local", for example, to determine that your 192.168.1.2 is configured to receive email for that domain (using smtp.smb.local - which must also be configured in DNS with an
A record, resolvable, and reachable). Since you're already using a Windows Server for Exchange, you can use Microsoft's DNS server for this purpose. You'll also need to ensure that your client is setup to use this new DNS server as its DNS server for it to recognize this.
The entire setup for this really isn't any different than the normal setups for hosting a production email server with Exchange - so you can follow the regular Exchange documentation for configuring this. The only differences for a local / lab test is that none of the services - including DNS - need to be public, and that as such, the guest VM needs to be configured to use a test DNS server to find where things are at.