PHP中用pear包自带的类发送带有附件的邮件

测试通过,大家可以试试,前题要有pear包

<?php
require_once 'Mail.php';
require_once 'Mail/mime.php';
class Send_Mail{

var $headers = array();
var $config = array();
var $mail_object;
var $mime;
var $hdrs = array();

/*
* 构造函数
* $host邮箱主机
*/
function Send_Mail($host){
$this->config['mail'] = array(
'host' => $host, //smtp服务器地址,可以用ip地址或者域名
'auth' => false, //true表示smtp服务器需要验证
'username' => 'wanggaoliang',//用户名
'password' => 'wanggaoliang' //密码
);
$this->mail_object = Mail::factory('smtp', $this->config['mail']);//返回一个smtp类

}

/*
* 邮件发送
* $to 发送人邮箱
* $from 发信人地址
* $subject 邮件标题
* $file 附件内容
*/
function send($to,$from,$subject,$body,$file){
$this->hdrs['From'] = $from; //发信地址
$this->hdrs['To'] = $to; //收信地址
$this->hdrs['Subject'] = $subject; //邮件标题
$this->mime = new Mail_mime();
$this->mime->_build_params['html_charset'] = "utf-8";//设置编码格式
$this->mime->_build_params['head_charset'] = "utf-8";//设置编码格式
$this->mime->setHTMLBody($body); //设置邮件正文
if($file <> ""){
$this->mime->addAttachment($file, 'text/html');//设置附件内容
}
$new_body = $this->mime->get();
$headers = $this->mime->headers($this->hdrs);
$this->mail_object->send($to,$headers,$new_body);//发送邮件

}
}

?>

你可能感兴趣的:(html,PHP)