Probably one of the most common things in websites and web applications is the sending of mail. Be it notification of simple events, or a fully-fledged webmail interface, at some point most applications will need to send mail. Thankfully, with PHP that is made a whole lot easier by the mail() function. This function enables you to send an email without the complexities of accessing an smtp server, or the unportable practice of using OS specific commands. However, sometimes there is a need for more abstraction than this function provides.
This is where the mail sending classes come in. They enable you to abstract mail transport to a level where you’re not dependent on PHP functions. You can write new transport code and use it with only minimal changes to your application. This also helps you to respond quickly to changing demands on your code, supporting new formats, protocols or requirements with relative ease.
Click here for the full article at zend.com.