A static IP address would make things easier, but dynamic DNS should make things work okay with a dynamic address.
Currently I'm not even doing that; instead, a cron job FTPs a file containing my current IP address to my home drectory at my ISP, so I telnet to my ISP and log in, then I type "gohome" to invoke a shell script that looks up the current IP address and fires off telnet to there. For access to home without a shell account at an ISP, I could have the address updated on a web site instead. To get the mail to my home machine in the first place, I'm guessing I could have cron invoke fetchmail or something similar to copy it from the ISP's mail server.
(no subject)
Currently I'm not even doing that; instead, a cron job FTPs a file containing my current IP address to my home drectory at my ISP, so I telnet to my ISP and log in, then I type "gohome" to invoke a shell script that looks up the current IP address and fires off telnet to there. For access to home without a shell account at an ISP, I could have the address updated on a web site instead. To get the mail to my home machine in the first place, I'm guessing I could have cron invoke fetchmail or something similar to copy it from the ISP's mail server.