给多个地址发邮件的类

  <?php

  ////////////////////////////////////////////////////////////

  //   EmailClass 0.5

  //   class for sending mail

  //

  //   Paul Schreiber

  //   [email protected]

  //   http://paulschreiber.com/

  //

  //   parameters

  //   ----------

  //   - subject, message, senderName, senderEmail and toList are required

  //   - ccList, bccList and replyTo are optional

  //   - toList, ccList and bccList can be strings or arrays of strings

  //     (those strings should be valid email addresses

  //

  //   example

  //   -------

  //   $m = new email ( "hello there",            // subject

  //                    "how are you?",           // message body

  //                    "paul",                   // sender's name

  //                    "[email protected]",         // sender's email

  //                    array("[email protected]", "[email protected]"), // To: recipients

  //                    "[email protected]"      // Cc: recipient

  //                   );

  //

  //       print "mail sent, result was" . $m->send();

  //

  //

  //

  if ( ! defined( 'MAIL_CLASS_DEFINED' ) ) {

  define('MAIL_CLASS_DEFINED', 1 );

  class email {

  // the constructor!

  function email ( $subject, $message, $senderName, $senderEmail, $toList, $ccList=0, $bccList=0, $replyTo=0) {

  $this->sender = $senderName . " <$senderEmail>";

  $this->replyTo = $replyTo;

  $this->subject = $subject;

  $this->message = $message;

  // set the To: recipient(s)

  if ( is_array($toList) ) {

  $this->to = join( $toList, "," );

  } else {

  $this->to = $toList;

  }

  // set the Cc: recipient(s)

  if ( is_array($ccList) && sizeof($ccList) ) {

  $this->cc = join( $ccList, "," );

  } elseif ( $ccList ) {

  $this->cc = $ccList;

  }

  // set the Bcc: recipient(s)

  if ( is_array($bccList) && sizeof($bccList) ) {

  $this->bcc = join( $bccList, "," );

  } elseif ( $bccList ) {

  $this->bcc = $bccList;

  }

  }

  // send the message; this is actually just a wrapper for

  // PHP's mail() function; heck, it's PHP's mail function done right :-)

  // you could override this method to:

  // (a) use sendmail directly

  // (b) do SMTP with sockets

  function send () {

  // create the headers needed by PHP's mail() function

  // sender

  $this->headers = "From: " . $this->sender . "\n";

  // reply-to address

  if ( $this->replyTo ) {

  $this->headers .= "Reply-To: " . $this->replyTo . "\n";

  }

  // Cc: recipient(s)

  if ( $this->cc ) {

  $this->headers .= "Cc: " . $this->cc . "\n";

  }

  // Bcc: recipient(s)

  if ( $this->bcc ) {

  $this->headers .= "Bcc: " . $this->bcc . "\n";

  }

  return mail ( $this->to, $this->subject, $this->message, $this->headers );

  }

  }

  }

  ?>