With Shaw, I was able to allow connections inbound on port 25 TCP, which allowed me to receive mail on my personal postfix server. Outbound was blocked, but they provided a smart host (SMTP relay) to work around the problem. I wish Telus would adopt a similar policy, since it does reduce the risk of spam if they have rate limited setup on their SMTP relay, but allows you to run your own private email server.
For every other service that I want to run, I simply use alternative ports. For example, you can run SSH on a port like 5222 or something like that instead of 22. For email though, I do absolutely need inbound port 25, since I have no way to ask remote mail servers to use a different port (that I know of).