• 风雨兼程,与党和人民同行 2019-05-23
  • 张鼎丞对人民军队建设作出的贡献 2019-05-23
  • 把党的领导贯穿军事科研工作各方面和全过程 2019-05-23
  • 在强国论坛和新浪微博上也就说了几句国产80后伟大的钢琴家,嚯!粉丝不干了,邮箱里塞满男性女性生殖器的骂声和愤慨声。其实,真没有诋毁的意思。比如,美国一家男性内衣 2019-05-22
  • 【理上网来·喜迎十九大】不忘初心、继续前进,勇于全面深化改革 2019-05-22
  • 这5件事预测你能否可以开心活过80岁 2019-05-22
  • 新疆14所高校大学生同台比赛 2019-05-21
  • 西南铁路端午假期发送400余万人次 两人不文明乘车或受失信惩戒 2019-05-21
  • 省委中心组成员到联系帮扶点开展专题调研 2019-05-21
  • 热刺中场埃里克森领衔 北欧童话能否续写逆袭新篇 2019-05-21
  • 在深入推动长江经济带发展座谈会上的讲话 2019-05-20
  • 北京副中心核心区建成世界超一流智能配电网 2019-05-20
  • 江苏:五峰山跨江线路升高改造工程启动(组图) 2019-05-20
  • 无视婚变传闻 王浩信晒与朋友新旧对比照秀友情 2019-05-19
  • 专访香港演员陈钰芸:女版李小龙 用武术演绎精彩人生 2019-05-19
  • Jquery中文网 码报 www.okkrb.tw
    Jquery中文网 >  脚本编程  >  php  >  正文 php 发送带附件邮件的类

    手机码报网站: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-05-23
  • 张鼎丞对人民军队建设作出的贡献 2019-05-23
  • 把党的领导贯穿军事科研工作各方面和全过程 2019-05-23
  • 在强国论坛和新浪微博上也就说了几句国产80后伟大的钢琴家,嚯!粉丝不干了,邮箱里塞满男性女性生殖器的骂声和愤慨声。其实,真没有诋毁的意思。比如,美国一家男性内衣 2019-05-22
  • 【理上网来·喜迎十九大】不忘初心、继续前进,勇于全面深化改革 2019-05-22
  • 这5件事预测你能否可以开心活过80岁 2019-05-22
  • 新疆14所高校大学生同台比赛 2019-05-21
  • 西南铁路端午假期发送400余万人次 两人不文明乘车或受失信惩戒 2019-05-21
  • 省委中心组成员到联系帮扶点开展专题调研 2019-05-21
  • 热刺中场埃里克森领衔 北欧童话能否续写逆袭新篇 2019-05-21
  • 在深入推动长江经济带发展座谈会上的讲话 2019-05-20
  • 北京副中心核心区建成世界超一流智能配电网 2019-05-20
  • 江苏:五峰山跨江线路升高改造工程启动(组图) 2019-05-20
  • 无视婚变传闻 王浩信晒与朋友新旧对比照秀友情 2019-05-19
  • 专访香港演员陈钰芸:女版李小龙 用武术演绎精彩人生 2019-05-19