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

来源:互联网 发布:非虚构写作知乎 编辑:程序博客网 时间:2024/05/05 08:59

测试通过,大家可以试试,前题要有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);//发送邮件

    }
}

?> 

原创粉丝点击