<?php
namespace imcat;

// $m = new extEmail(); 
// $s = 'v01-Mail:'.$_cbase['mail']['type'].' : 邮件 : '.date('Y-m-d H:i');
// $c = comFiles::get('./mail_demo.htm');
// $m->send('xpigeon@163.com',$s,$c,'fromName-测试-Test');

class extEmail{
    
    public 
$type ''//phpmailer,swiftmailer
    
public $cfg = array(); //
    
public $umail null;
    public 
$log = array();
    
    function 
__construct($type=''$cfg=array()){
        
$this->cfg  = empty($cfg) ? glbConfig::read('mail','ex') : $cfg;
        
$this->type = empty($type) ? $this->cfg['type'] : $type;
        
$this->setServer($cfg);        
    }
    
    function 
setServer($cfg=array()){
        
$cfile 'eml'.ucfirst($this->type);
        
$fp DIR_IMCAT."/adpt/email/$cfile.php";
        if(
file_exists($fp)){ 
            require 
$fp// 加载
            
$class "\\imcat\\$cfile";
            
$this->umail = new $class($this->cfg); 
        }
    }
    
    function 
send($to$title$body$vname=''){
        
$res $this->umail->send($to$title$body$vname);
        
$from $this->cfg['from'];
        
$alog = array('to''title''body''from''vname');
        foreach (
$alog as $key) {
            
$this->log[$key] = $$key;
        }
        return 
$res;
    }

    
// 写记录
    
function slog($stat=1$cfgs=array()){
        
$body $this->log['body'];
        
$body strstr($body,'<body') ? basElm::getPos($body,'body') : $body;
        
$body trim(strip_tags($body)); 
        
$kid = empty($cfgs['kid'])?basKeyid::kidTemp():$cfgs['kid'];
        
$pid = empty($cfgs['pid'])?'':$cfgs['pid'];
        
$data = array( 
            
'kid'=>$kid,'pid'=>$pid,
            
'ufrom'=>$this->log['from'],'uto'=>$this->log['to'],
            
'title'=>$this->log['title'],'detail'=>basReq::in($body),
            
'stat'=>$stat,'api'=>$this->type,
        );
        
glbDBObj::dbObj()->table('plus_emsend')->data($data)->insert();
    }

    static function 
hasClass($class){
        
//$class = '\PHPMailer\PHPMailer\PHPMailer';
        
if(!class_exists($class)){
            
$msg "Class `$class` not found,<br>
                Please install it with composer, more info see:<br>
                http://custom.txjia.com/book.php/deeps-no3rd"
;
            die(
$msg);
        }
    }
}