<?php
//邮件发送类,基于PHPMailer类
if (!defined('KERNEL_PATH'))exit('No direct script access allowed');
class Email{
	//发送邮件
	static public function send($mail_form,$mail_to,$mail_subject,$mail_body,$mail_attach=NULL){
		@error_reporting(E_ERROR | E_WARNING | E_PARSE);//屏蔽出错信息
        require(LIBRARY_PATH.'/phpmailer/PHPMailerAutoload.php');
		$mail             = new PHPMailer();
		$mail->SMTPDebug =  C('SMTP_DEBUG');
		// 0 = off (for production use)
		// 1 = client messages
		// 2 = client and server messages
		$mail->IsSMTP();    // 使用SMTP方式发送
		$mail->Debugoutput = 'html';
		
		$mail->Host        = C('SMTP_HOST');                                 //smtp服务器地址
		$mail->Port        = C('SMTP_PORT');                                 //smtp服务器端口
		$mail->SMTPAuth    = C('SMTP_AUTH');                                 //启用SMTP验证功能，一般需要开启
		$mail->Username    = C('SMTP_USERNAME');                             //smtp服务器帐号
		$mail->Password    = C('SMTP_PASSWORD');                             // smtp服务器帐号密码
		$mail->CharSet     = C('SMTP_CHARSET');                              //发送的邮件内容编码
		$mail->setFrom       (C('SMTP_FROM_TO'),$mail_form);     	         // 发件人的邮箱和姓名
		$mail->addReplyTo    (C('SMTP_FROM_TO'),$mail_form);                 // 回复时的邮箱和姓名，一般跟发件人一样
		
		//是否启用SSL安全连接
		if(C('SMTP_SSL')){
			$mail->SMTPSecure = 'ssl';    //gmail需要启用sll安全连接
		}
		
		$mail->Subject    = $mail_subject;   //邮件标题
		if (is_array($mail_body)){
			$mail->MsgHTML($mail_body['content'],$mail_body['path']);          //邮件内容，支持html代码
		}else{
			$mail->MsgHTML($mail_body);          //邮件内容，支持html代码
		}
		
		//发送邮件
		if(is_array($mail_to)){
			//同时发送给多个人
			foreach($mail_to as $key=>$value){
				$mail->addAddress($mail_to,''); //只发送给一个人
			}
		}else{			
			$mail->addAddress($mail_to,''); //只发送给一个人
		}
		
		//发送多个附件
		if(is_array($mail_attach)){
			foreach($mail_attach as $value){
				echo $value;
				if(file_exists($value)) $mail->AddAttachment($value);
			}
		}
		//发送一个附件
		if(!empty($mail_attach)&&is_string($mail_attach)){
			if(file_exists($mail_attach)) $mail->AddAttachment($mail_attach); 
		}
	
		//$mail->AltBody = 'This is a plain-text message body';

		if (!$mail->send()) {
			echo "Mailer Error: " . $mail->ErrorInfo;
			return false;
		} else {
			 return true;
		}
	}
}
?>