If you didn’t have any public servers, then you could use dynamic PAT, but then what would you have a DMZ for? If you have some public servers as indicated, then you will have to map the addresses of these to public IPs with static NAT or just give them real addresses and let the outside through to the DMZ. If none of them use the same port, (e.g. SMTP, HTTP, DNS, …), you should be able to use port forwarding to do all of this with one external IP. This all depends on how you arrange the design.
Please tell me you are NOT going to put the exchange server in the DMZ so the outside world can reach it. Put it on the internal net and use some kind of SMTP relay in the DMZ.