////////////////////////////////////////////////////////////;;
//;;;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 . "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 );;;
};;
};;
};;
?>;;
标签: