php 使用pear库发送带附件邮件(来自Stack overflow)

 <?php    
    require_once "Mail.php";//需安装pear库,unbutu下命令为 apt-get install php-pear
    require_once "Mail/mime.php"; //需安装mime库 ,ubuntu 下安装了pear后, pear install Mail_Mime      
        /**
	 +----------------------------------------------------------
	 * 使用pear发送带附件的电子邮件
	 +----------------------------------------------------------
	 * @access public
	 +----------------------------------------------------------
	 * @param string $body : 邮件体
	 * @param string $to : 邮件发送地址
	 * @param string $subject : 邮件主题
	 * @param string $from : 邮件发送方
	 * @param string $file : 附件的路径
	 +----------------------------------------------------------
	 * @return void
	 +----------------------------------------------------------
	 */
	public static function sendWithAttach($body,$to,$subject,$from='acdGO@acdgo.com',$file){
		global $GL,$strArr;
		$hdrs['From'] = $from; //发信地址
		$hdrs['To'] = $to; //收信地址
		$hdrs['Subject'] = $subject; //邮件标题
		$mime = new Mail_mime();
		$mime->_build_params['html_charset'] = "utf-8";//设置编码格式
		$mime->_build_params['head_charset'] = "utf-8";//设置编码格式
		$mime->setHTMLBody($body); //设置邮件正文
		if($file <> ""){
			$mime->addAttachment($file, 'text/html');//设置附件内容
		}
		$new_body = $mime->get();
		$headers = $mime->headers($hdrs);

		$smtpparam = array();
		$smtpparam['host'] = 'SMTPHOST';
		$smtpparam['auth'] ='login';
		$smtpparam['username'] = 'SMTPUSER‘;//smtp账户名
		$smtpparam['password'] = 'SMTPPASS';//smtp账户密码
		$smtpparam['port'] = 'SMTPPORT’;//smtp账户端口
		$smtp = Mail::factory('smtp', $smtpparam);
		$smtp->send($to,$headers,$new_body);//发送邮件
	}
?>