Вход Регистрация
Файл: classes/email.class.php
Строк: 80
<?php
defined
('_VALID') or die('Restricted Access!');

use 
PHPMailerPHPMailerPHPMailer;
if ( !
class_exists('PHPMailer') ) {
    require 
$config['BASE_DIR']. '/include/phpmailer/PHPMailer.php';
}
if ( !
class_exists('SMTP') ) {
    require 
$config['BASE_DIR']. '/include/phpmailer/SMTP.php';
}
require 
$config['BASE_DIR']. '/include/phpmailer/Exception.php';



class 
VMail extends PHPMailer
{
    public function 
__construct()
    {
        
$this->config();
        
$this->IsHTML(true);
    }
    
    public function 
config()
    {
        global 
$config;
        if ( 
$config['mailer'] == 'mail' ) {
            
$this->Mailer       = 'mail';
        } elseif ( 
$config['mailer'] == 'sendmail' ) {
            
$this->isSendmail();
        } elseif ( 
$config['mailer'] == 'smtp' ) {
            
$this->isSMTP();
            if (
$config['smtp_autotls'] == 'true') {
            
$this->SMTPAutoTLS  = true;
            } else {
            
$this->SMTPAutoTLS  = false;    
            }
            
$this->Host         = $config['smtp'];
            
$this->Port         = $config['smtp_port'];
            if (
$config['smtp_prefix'] == 'false') {
            
$this->SMTPSecure   = false;
            } else {
            
$this->SMTPSecure   = $config['smtp_prefix'];    
            }
            
$this->SMTPDebug     = $config['smtp_debug']; 
            if ( 
$config['smtp_auth'] ) {
                
$this->SMTPAuth = true;
                
$this->Username = $config['smtp_username'];
                
$this->Password = $config['smtp_password'];
            }
            
        } else {
            
$config['mailer']   = 'mail';
            
$this->config();
        }
        
        
$this->WordWrap = 75;
    }
    
    public function 
set($name='', $value = '')
    {
        global 
$config;
    
        
$this->From     = $config['admin_email'];
        
$this->FromName = $config['site_name'];
        
$this->Sender   = $config['admin_email'];
        
$this->AddReplyTo($config['admin_email'], $config['site_name']);
    }
    
    public function 
setNoReply()
    {
        global 
$config;
    
        
$this->From     = $config['noreply_email'];
        
$this->FromName = $config['site_name'];
        
$this->Sender   = $config['noreply_email'];
        
$this->AddReplyTo($config['noreply_email'], $config['site_name']);
    }
    
    public function 
sendPredefined($email, $email_id, $search=array(), $replace=array())
    {
        global 
$config, $conn;
        
        if ( !
class_exists('VFile') ) {
            require 
$config['BASE_DIR']. '/classes/file.class.php';
        }
        
        
$sql            = "SELECT email_subject, email_path FROM emailinfo WHERE email_id = '" .$email_id. "' LIMIT 1";
        
$rs             = $conn->execute($sql);
        
$email_subject  = str_replace($search, $replace, $rs->fields['email_subject']);
        
$email_path     = $config['BASE_DIR']. '/templates/' .$rs->fields['email_path'];
        
$body           = VFile::read($email_path);
        
$body           = str_replace($search, $replace, $body);
                
        
$this->setNoReply();
        
$this->Subject  = $email_subject;
        
$this->AltBody  = $body;
        
$this->Body     = nl2br($body);
        if (
is_array($email)) {
            foreach(
$email as $email_address) {
                
$this->AddAddress($email_address);
                
$this->Send();
                
$this->ClearAddresses();
            }
        } else {        
            
$this->AddAddress($email);
            
$this->Send();
        }
    }
}
?>
Онлайн: 1
Реклама