LAPTOP-V9RRD1TL\Michelle's Computer f8f8fcaf96 first commit
2025-07-21 21:38:17 +08:00

96 lines
2.1 KiB
PHP

<?php
require( __DIR__.'/../plugins/PHPMailer/src/Exception.php' ) ;
require( __DIR__.'/../plugins/PHPMailer/src/PHPMailer.php' ) ;
require( __DIR__.'/../plugins/PHPMailer/src/SMTP.php' ) ;
use PHPMailer\PHPMailer\PHPMailer ;
use PHPMailer\PHPMailer\Exception ;
class Mailer {
private $smtp = MAILSMTP ;
private $host = MAILHOST ;
private $username = MAILUSERNAME ;
private $password = MAILPASSWORD ;
private $port = MAILPORT ;
public $from = '' ;
public $fromname = '' ;
public $to = [] ;
public $cc = [] ;
public $bcc = [] ;
public $subject = '' ;
public $body = '' ;
public function sendAttachment($path, $filename){
$this->attachment[0] = $path;
$this->attachment[1] = $filename;
}
public function from( $from ){
$this->from = $from ;
}
public function to( $to ){
$this->to = $to ;
}
public function cc( $cc ){
$this->cc = $cc ;
}
public function bcc( $bcc ){
$this->bcc = $bcc ;
}
public function subject( $subject ){
$this->subject = $subject ;
}
public function body( $body ){
$this->body = $body ;
}
public function send(){
$mail = new PHPMailer ;
// Server settings
if ( $this->smtp == 'yes' ){
// $mail->isSMTP() ;
// $mail->SMTPDebug = 1 ;
$mail->Host = $this->host ;
$mail->SMTPAuth = true ;
$mail->Username = $this->username ;
$mail->Password = $this->password ;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS ;
$mail->SMTPAuth = true ;
$mail->Port = $this->port ;
}
// from
$mail->setFrom( $this->from, $this->fromname ) ;
// send to / cc / bcc
foreach ( $this->to as $k => $v ){ $mail->addAddress( $v ) ; }
foreach ( $this->cc as $k => $v ){ $mail->addCC( $v ) ; }
foreach ( $this->bcc as $k => $v ){ $mail->addBCC( $v ) ; }
$mail->Subject = $this->subject ;
if(count($this->attachment) > 0){
$mail->AddAttachment($this->attachment[0], $this->attachment[1]);
}
$mail->isHTML(true) ;
$mail->msgHTML( $this->body ) ;
if ( !$mail->send() ) {
return false ;
}else {
return true ;
}
}
}
?>