per POP e IMAP hai una lista di funzioni apposite:
www.php.net/imap
più qualche classe sicuramente già pronta (vedi pear o phpclasses)

per SMTP c'è PEAR::Mail che consente tra l'altro l'autenticazione al server SMTP
http://pear.php.net/package/Mail

dai un'occhiata alla documentazione, ed eventualmente spulcia il codice