• [雷人]中国人啥不炒?古董、字画、票证、君子兰、普洱茶、大蒜……凡是有较长保存时间的东西,都有人炒! 2019-07-16
  • 乌兰察布--内蒙古频道--人民网 2019-07-16
  • 新版人民网首页吉林IP定向--吉林频道--人民网 2019-07-14
  • 儿子变全能暖男 海清晒儿子手工包礼物爱意满满 2019-07-14
  • 王秀英受邪教全能神蛊惑离家出走 家人盼归 2019-07-13
  • 山西日报传媒集团公司 2018年第一季度财务等重大信息 2019-07-13
  • 辽宁日报社社长、总编辑丁宗皓祝贺人民日报创刊70周年 2019-07-12
  • 出租广州市番禺区大龙街东兴路476号4楼物业空置部分 2019-07-11
  • 芜湖乡间小路上演“警匪片” 警车狂追小轿车 2019-07-09
  • 个税法迎第七次大修 起征点调至每年6万元 2019-07-09
  • 商务部新闻发言人就美白宫6月18日声明发表谈话 2019-07-06
  • 弘扬优秀传统文化 引领文化自信 绍兴打造国学高地 2019-07-06
  • 王国平理事长应邀赴泰州市调研并作专题报告 2019-07-02
  • 人民日报大家手笔:建设文化强国应科学处理三种关系 2019-07-01
  • 北京外研书店重装开业 打造特色海淀文化地标 2019-07-01
  • Jquery中文网 码报 www.okkrb.tw
    Jquery中文网 >  脚本编程  >  php  >  正文 php 发送带附件邮件的类

    122期码报资料:php 发送带附件邮件的类

    发布时间:2017-08-01   编辑:码报 www.okkrb.tw
    分享一个php实现的发送带附件邮件的类,各种常用的功能都封装成了具体的方法,并附有演示示例,有需要的朋友参考下。

    码报 www.okkrb.tw 1,类文件 emailclass.php
     

    复制代码 代码示例:
    <?
    /**
    * 发送带附件的邮件
    * by www.jbxue.com
    */
    class CMailFile { 
        var $subject;  
        var $addr_to;  
        var $text_body;  
        var $text_encoded;  
        var $mime_headers;  
        var $mime_boundary = "--==================_846811060==_";  
        var $smtp_headers;  
         
        function CMailFile($subject,$to,$from,$msg,$filename,$downfilename,$mimetype = "application/octet-stream",$mime_filename = false) {  
            $this->subject = $subject;        
            $this->addr_to = $to;         
            $this->smtp_headers = $this->write_smtpheaders($from); 
            $this->text_body = $this->write_body($msg); 
            $this->text_encoded = $this->attach_file($filename,$downfilename,$mimetype,$mime_filename); 
            $this->mime_headers = $this->write_mimeheaders($filename, $mime_filename); 
        }  
     
        function attach_file($filename,$downfilename,$mimetype,$mime_filename) { 
            $encoded = $this->encode_file($filename); 
            if ($mime_filename) $filename = $mime_filename; 
            $out = "--" . $this->mime_boundary . "\n"; 
            $out = $out . "Content-type: " . $mimetype . "; name=\"$filename\";\n"; 
            $out = $out . "Content-Transfer-Encoding: base64\n"; 
            $out = $out . "Content-disposition: attachment; filename=\"$downfilename\"\n\n"; 
            $out = $out . $encoded . "\n"; 
            $out = $out . "--" . $this->mime_boundary . "--" . "\n"; 
            return $out; 
        }  
     
        function encode_file($sourcefile) {  
            if (is_readable($sourcefile)) {  
                $fd = fopen($sourcefile, "r");  
                $contents = fread($fd, filesize($sourcefile));  
                $encoded = chunk_split(base64_encode($contents));  
                fclose($fd);  
            }  
            return $encoded;  
        }  
     
        function sendfile() {    
            $headers = $this->smtp_headers . $this->mime_headers;  
            $message = $this->text_body . $this->text_encoded;  
            mail($this->addr_to,$this->subject,$message,$headers);  
        }  
     
        function write_body($msgtext) {  
            $out = "--" . $this->mime_boundary . "\n";  
            $out = $out . "Content-Type: text/plain; charset=\"us-ascii\"\n\n";  
            $out = $out . $msgtext . "\n";  
            return $out;  
        }  
     
        function write_mimeheaders($filename, $mime_filename) {  
            if ($mime_filename) $filename = $mime_filename;  
            $out = "MIME-version: 1.0\n";  
            $out = $out . "Content-type: multipart/mixed; ";  
            $out = $out . "boundary=\"$this->mime_boundary\"\n";  
            $out = $out . "Content-transfer-encoding: 7BIT\n";  
            $out = $out . "X-attachments: $filename;\n\n";  
            return $out;  
        }  
     
        function write_smtpheaders($addr_from) {  
            $out = "From: $addr_from\n";  
            $out = $out . "Reply-To: $addr_from\n";  
            $out = $out . "X-Mailer: PHP3\n";  
            $out = $out . "X-Sender: $addr_from\n";  
            return $out;  
        }  
    }  
     
    /*用法 - 例如:mimetype 为 "image/gif" 
        $mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filename,$mimetype); 
        $mailfile->sendfile(); 
     
        $subject -- 主题 
        $sendto -- 收信人地址 
        $replyto -- 回复地址 
        $message -- 信件内容 
        $filename -- 附件文件名 
        $downfilename -- 下載的文件名
        $mimetype -- mime类型
    */ 
    ?> 

    2,演示示例 demo.php
     

    复制代码 代码示例:
    <?php 
        require_once('emailclass.php'); 
     
        //发送邮件 
         
        //主題 
        $subject = "test send email"; 
     
        //收件人 
        $sendto = '[email protected]'; 
         
        //發件人 
        $replyto = '[email protected]'; 
         
        //內容 
        $message = "test send email content"; 
         
        //附件 
        $filename = 'test.jpg'; 
         
        //附件类別 
        $mimetype = "image/jpeg"; 
     
        $mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filename,$excelname,$mimetype);  
        $mailfile->sendfile(); 
    ?>

    >>> 您可能感兴趣的文章:
    php socket使用smtp发送带附件的邮件
    Php中IMAP应用举例(收发邮件、删除邮件、附件下载)
    PHPMailer发送带附件邮件的例子
    PHPMailer发送邮件中文附件名乱码的解决办法

    您可能感兴趣的文章:
    phpmailer实现的简单openvpn用户认证的代码
    PHPMailer批量发送邮件的实例代码
    使用phpmailer发送邮件的例子
    有关phpmailer的用法
    php使用phpMailer发送邮件的例子
    如何提高E-mail收发的成功率
    使用pear:Net_SMTP类发送邮件的例子
    php使用Pear的NetMail发送smtp邮件
    邮件系统基本的网络协议
    php中通过curl smtp发送邮件的例子

    关键词: PHP邮件发送  发送邮件   
    [关闭]
  • [雷人]中国人啥不炒?古董、字画、票证、君子兰、普洱茶、大蒜……凡是有较长保存时间的东西,都有人炒! 2019-07-16
  • 乌兰察布--内蒙古频道--人民网 2019-07-16
  • 新版人民网首页吉林IP定向--吉林频道--人民网 2019-07-14
  • 儿子变全能暖男 海清晒儿子手工包礼物爱意满满 2019-07-14
  • 王秀英受邪教全能神蛊惑离家出走 家人盼归 2019-07-13
  • 山西日报传媒集团公司 2018年第一季度财务等重大信息 2019-07-13
  • 辽宁日报社社长、总编辑丁宗皓祝贺人民日报创刊70周年 2019-07-12
  • 出租广州市番禺区大龙街东兴路476号4楼物业空置部分 2019-07-11
  • 芜湖乡间小路上演“警匪片” 警车狂追小轿车 2019-07-09
  • 个税法迎第七次大修 起征点调至每年6万元 2019-07-09
  • 商务部新闻发言人就美白宫6月18日声明发表谈话 2019-07-06
  • 弘扬优秀传统文化 引领文化自信 绍兴打造国学高地 2019-07-06
  • 王国平理事长应邀赴泰州市调研并作专题报告 2019-07-02
  • 人民日报大家手笔:建设文化强国应科学处理三种关系 2019-07-01
  • 北京外研书店重装开业 打造特色海淀文化地标 2019-07-01
  • 新疆35选7玩法 钱龙捕鱼到底怎么赢钱 比利亚雷亚尔Vs巴萨 玛莎拉蒂莱万特多少钱 明日之后公测服 幸运财神游戏 内蒙古新11选5胆拖 沙巴体育足球怎么投注 1000李逵劈鱼游戏下载 德黑兰独立百度百科