欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

给多个地址发邮件的类

程序员文章站 2022-05-20 10:52:37
...

//////////////////////////////////////////////////////////// 
//  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 . " "; 
        $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 ); 
    } 
} 


} 
?>