<?php
//////////////////////////////////////////////////////////// // EmailClass 0.5 // class for sending mail // // Paul Schreiber // php@paulschreiber.com // 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 // "foo@foobar.com", // sender's email // array("paul@foobar.com", "foo@bar.com"), // To: recipients // "paul@whereever.com" // 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 . " ";
// reply-to address if ( $this->replyTo ) { $this->headers .= "Reply-To: " . $this->replyTo . " "; }
// Cc: recipient(s) if ( $this->cc ) { $this->headers .= "Cc: " . $this->cc . " "; }
// Bcc: recipient(s) if ( $this->bcc ) { $this->headers .= "Bcc: " . $this->bcc . " "; } return mail ( $this->to, $this->subject, $this->message, $this->headers ); } }
} ?>
|