Creare un componente per Inviare email con PEAR

Tempo fa ho realizzato una pagina che sfrutta PEAR per inviare una email. Dopo tanti tentativi ho configurato bene lo script e ho la sicurezza che la mail non finisce nello spam. In oltre posso anche inviare email in formato HTML. Ora mi piacerebbe creare un componente al quale poter indicare quale sia il documento HTML della email, e magari il destinatario.

Potete aiutarmi?

Il codice di partenza è questo:




<?php


  require_once "Mail.php";


  $from = "example <info@example.com>";

  $subject = "[example] Oggetto della email";

  $body = file_get_contents("percorso/del/template.html");


  $headers = array('From' => $from,

      'To' => 'invitati',

      'Subject' => $subject,

      'HELO' => 'projectsrl.com',

      'MIME-Version' => '1.0',

      'X-Mailer' => 'php' . phpversion(),

      'Content-Type' => 'text/html; charset=iso-8859-1');


  $smtp = Mail::factory('smtp', array('host' => '12.345.678.90'));

  $mail = $smtp->send('info@example.com', $headers, $body);


  if (PEAR::isError($mail)) {

    echo("<p>" . $mail->getMessage() . "</p>");

  } else {

    echo("<p>La mail è stata inviata.</p>");

  }




Mi piacerebbe creare questo componente ed impostarlo per diverse email che potrebbero essere per esempio

[list=1]

[*]conferma registrazione

[*]conferma cancellazione utente

[*]attivato nuovo servizio

[/list]

e che quindi mi immagino in un componente così:




class MioComponente {

   public confermaRegistrazione() {}

   public confermaCancellazioneUtente() {}

   public attivatoNuovoServizio() {}

}



Sto ragionando bene?

Scusa, ma perchè non usare direttamente la classe più potente di php tramite questa estensione?

http://www.yiiframework.com/extension/phpmailer/

E’ passato più di un anno =). Mica lo sapevo un anno fa =).