2 Things I see. First off, I prefer to go the otherway, that is wrapping rsync inside of an ssh session rather than ssh within rsync, but the choice is yours. You may want to look at an absolutely brilliant piece of programming called backuppc, which can be found at http://backuppc.sourceforge.net
. It is excellent at automating backups.
Secondly, your problem is solved by the rsync man page. You're mixing ssh and rsync commands horribly. In this case - "rsync -e ssh -avz --delete-after -p 8496", how is rsync supposed to sort out what is an rsync command and what is an ssh command? That's a mess and a half. You need to enclose all the ssh command within single or double quotes.
Check out the man page section with the obnoxious title "USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION", and also look around line 1240. I think you want your command to look like this -
rsync -e "ssh -p 8496" -avz email@example.com:/home/digen/Learning Learning
You may also need to throw -l digen within the ssh quotes, depending on the rsync/rsyncd and ssh setup on the remote machine.