Shouldn't those commands be:
$ ssh -Nf -L 9110:mail.server.com:110 development.server.com
$ ssh -Nf -R 2222:localhost:22 machine...home
$ ssh -p2222
Or did you mean to leave out the spaces between the commands & the options?
If so, it might have been a good idea to say so & why.
Also, I think you meant "-Nf" 2ce, & not "-nF" the 2nd time:
(from the ssh man page)
Redirects stdin from /dev/null (actually, prevents reading from stdin). This must be used when ssh is run in the background. A common trick is to use this to run X11 programs on a remote machine. For example, ssh -n shadows.cs.hut.fi emacs will start an emacs on shadows.cs.hut.fi, and the X11 connection will be automatically forwarded over an encrypted channel. The ssh program will be put in the background. (This does not work if ssh needs to ask for a password or passphrase; see also the -f option.)
Specifies an alternative per-user configuration file. If a configuration file is given on the command line, the system-wide configuration file (/etc/ssh/ssh_config ) will be ignored. The default for the per-user configuration file is $HOME/.ssh/config