• 文化山西:风华长城岁月歌 2019-10-15
  • 王晨:抓好大气污染防治 实现人民群众蓝天白云美好期盼 2019-10-09
  • 马伊琍庆幸文章逼自己走出舒适区:他说话难听但特别对 2019-10-09
  • 上合组织发展进程中一座新的里程碑 2019-10-08
  • 男子冒充澳商交往多人行骗被抓 现场来6个女友 2019-10-05
  • 谁还不是个小仙女了!甜而不腻的穿搭太撩人,直击你的粉色少女心! 2019-10-04
  • “陪堂妈妈”上课3000多节 班主任:她去中考没问题 2019-10-04
  • 【北京达世行世纪车型报价】北京达世行世纪4S店车型价格 2019-10-03
  • 但愿越南不是“颜色革命”!社会实践的事实一再证明,“社会主义”离开马列主义原则的改革开放,将是死路一条! 2019-10-03
  • 月薪过万白领辞职回乡养鸡 亏数十万后回城找工作 2019-09-25
  • (两会受权发布)中华人民共和国全国人民代表大会公告(第六号) 2019-09-16
  • 赵久占、郭健斌任天津市北辰区人民政府副区长 2019-09-16
  • 杨箕寺右 百余龙舟齐汇江面 2019-09-13
  • 特朗普敬礼被批相关新闻 2019-09-13
  • 回复@“老笑头”,你的牛二逻辑确实很通透!论坛奇葩!哈哈哈哈! 2019-09-09
  • Jquery中文网 码报 www.okkrb.tw
    Jquery中文网 >  脚本编程  >  php  >  正文 php 发送带附件邮件的类

    今期码报资料2018: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-10-15
  • 王晨:抓好大气污染防治 实现人民群众蓝天白云美好期盼 2019-10-09
  • 马伊琍庆幸文章逼自己走出舒适区:他说话难听但特别对 2019-10-09
  • 上合组织发展进程中一座新的里程碑 2019-10-08
  • 男子冒充澳商交往多人行骗被抓 现场来6个女友 2019-10-05
  • 谁还不是个小仙女了!甜而不腻的穿搭太撩人,直击你的粉色少女心! 2019-10-04
  • “陪堂妈妈”上课3000多节 班主任:她去中考没问题 2019-10-04
  • 【北京达世行世纪车型报价】北京达世行世纪4S店车型价格 2019-10-03
  • 但愿越南不是“颜色革命”!社会实践的事实一再证明,“社会主义”离开马列主义原则的改革开放,将是死路一条! 2019-10-03
  • 月薪过万白领辞职回乡养鸡 亏数十万后回城找工作 2019-09-25
  • (两会受权发布)中华人民共和国全国人民代表大会公告(第六号) 2019-09-16
  • 赵久占、郭健斌任天津市北辰区人民政府副区长 2019-09-16
  • 杨箕寺右 百余龙舟齐汇江面 2019-09-13
  • 特朗普敬礼被批相关新闻 2019-09-13
  • 回复@“老笑头”,你的牛二逻辑确实很通透!论坛奇葩!哈哈哈哈! 2019-09-09
  • 二人斗地主好友私人房 时彩选号技巧规律 北京pk五分彩免费计划软件 一分赛车在线精准免费计划 MG游戏送彩金平台 足球比分手机 中福快3官方计划下载 六码3期投注技巧 宝马棋牌下载 如意彩票计划软件