Receiving:
Depending on your MS Exchange setup you could get emails from a 3rd party environment to your Exchange environment via the following:
- Sync them via IMAP (e.g. via IMAPSync) and build a cron task here
- Use a POP3 collector as you already mentioned
- Forward the emails from the 3rd party account to your MS Exchange environment. You can configure a forward rule on the 3rd party system (if possible). But keep noted that (depending on the remote environment) you might get issues with S/MIME emails.
Keep noted that there is no "out of the box" solution to do that, as this approach above isn´t a common setup from MS Exchange. Therefore such solutions above will not be used in default setup and provided only a very bad workaround to build something which couldn´t be done the correct way.
Sending:
Sending emails is a little bit tricky and depends on your environment:
You could configure the 3rd party server as relay and point your MS Exchange server to that relay. Then every MS Exchange email (external) is send over that relay. This could be done as a smart host configuration:

Keep noted here that internal MS Exchange emails aren´t send via that relay as its a pure internal communication.
If you wish to setup a MS Exchange 2016 test environment and do not have a fixed public IP which would require that you wish to setup a construct above, you could build such a test environment with a dynamic IP as explained here. However keep noted this is for a test environment only!