Can a Heroku app use different/multiple ports?
Custom mail server? Nope. 
Heroku's mail services? Yes, check out the "Add-On" link for cloudmailin, mailgun and sendgrid. Basic service is free (they still want your credit-card and hope you exceed free quota).
Web services on Heroku normally use the PORT environment variable, but I want to run a custom mail server on Heroku. So I need to expose 2 ports, preferably 110 and 25, but I can live with alternatives. Is it possible?