It strikes me that the Mailer class should not know anything about who it's sending mails to. I would provide methods for setting those things, or maybe just constructor args
$to = 'you@address.com';
$from = 'me@adress.com';
$subject = 'The subject';
$body = 'The body';
$cc = array( 'first@address.com', 'second@address.com' );
$mailer = new AdminMailer( $to, $from, $subject, $body, $cc );
$mailer->mail();
class AdminMailer
{
public function __construct( $to, $from, $subject, $body, array $cc = array() )
{
//
}
public function mail()
{
//
}
}
If you need to provide additional features for one group of emails then subclassing AdminMailer would be the way to go.