I've been running postfix as my home mail server for the last several years, and prefer to have that configured as the mail server on my phone. This is actually a hang-over from having multiple ISPs (and multiple people in the house, all with their own existing mail accounts). Having various things dynamically reconfigure the mail server just seemed a daft idea.
In theory, I had Postfix configured to allow any of the machines on my home network to send email, and any of the machines which weren't at home would then use
Dovecot to authorise the connection, so that I don't have to change my phone configuration, just because I'm not home. Unfortunately, I don't think that worked for more than the day that I set it up. I need to get around to sorting it out.
I'm not sure where I saw the idea, but it was the suggestion the the Pi was just right for hosting a VPN server. A quick google resulted in
http://wellsb.com/post/29412820494/raspberry-pi-vpn-server. A quick 10 minutes had everything set up, and lo! I can disconnect from my house wifi, and fire up the VPN over 3g.
And it works! At least, it works well enough to let me access my mp3 collection via 3g. Having visited
narenek this afternoon, it also works well enough to stream video from my home server direct to my phone over the internet. I can't see why that won't work for email.
And tomorrow, I shall try video over eduroam. I've managed to pull video down via NFS, but that involves opening up three different ports, one of which is set dynamically, which is annoyingly fiddly, and one of which is the RPC server port: 111, which, being below 1024, I can't port-forward through my phone's SSH client (it doesn't have the root permission to listen to privileged ports). So the previous experiment involved opening all three ports directly to the internet, which was ok for the experiment, but not what one would describe as "a good idea".
Portforwarding would work to solve the original mail problem, but it still requires two outgoing mail configurations: direct, for home use, and port-forwarded when I'm out. Using a VPN fixes that, quite neatly (or at least, it should). Score!