Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > 服务器相关 > igenus(webmail)不能上传和显示中文附件问题的解决
【标  题】:igenus(webmail)不能上传和显示中文附件问题的解决
【关键字】:igenus,webmail
【来  源】:http://www.cublog.cn/u/11025/showart.php?id=197517

igenus(webmail)不能上传和显示中文附件问题的解决

Your Ad Here
qmail-vpopmail-courier-imap-qmail-clamav-scanner-igenus安装完成后,webmail(igenus)无法上传和显示中文附件的名称:
  原因:basename 的作用在于过滤文件名中的路径信息,但是由于该函数固有的缺陷,在 unix 环境下面,对 windows/dos 的路径信息没有起作用,故而该函数在此没有实际意义。可以去掉,办法是自己写一个类似的函数来替代。
  解决:1.编辑 "include/send_fun.php" ,改写basename函数
         function formatAttachmentHeader($inFileLocation){
         $outAttachmentHeader = "";
         //--get content type based on file extension
         $contentType = $this->getContentType($inFileLocation);
      //add by leera begin--    #下面部分为添加的部分
         $str=$inFileLocation;
         $tmpArray=split("/",$str);
         $sFileName=$tmpArray[count($tmpArray)-1];
         $s_inFileLocation=$sFileName;
      //add by leera --end      #添加到这里
     
         if($this->Encoding=='quoted-printable')
         $filename = encode_mime($s_inFileLocation,$this->Encoding,$this->Charset);    #把下面一行改为这行
         //$filename = encode_mime(basename($inFileLocation),$this->Encoding,$this->Charset);
         else $filename = encode_mime($s_inFileLocation,'base64',$this->Charset);      #把下面一行改为这行
         // else $filename = encode_mime(basename($inFileLocation),'base64',$this->Charset);
========================================================================
      2.编辑mime.php,去掉basename,并且强制以下载的方式浏览附件
         $get_File = rawurldecode(trim($_GET['File']));  #把下面一行改为这行
         //$get_File = rawurldecode(basename(trim($_GET['File'])));
         $get_MimeType = $_GET['MimeType'];
         $get_Size = $_GET['Size'];
         $get_Cmd = $_GET['Cmd'];
        
         if (false){                                            #把下面一行改为这行
         //if ($get_Cmd=="Show"){
         $file = $File;
         $filename = "$CFG_TEMP/$SG_DOMAIN/$SG_USERNAME/$get_File";
         ($FD_ATTACH = fopen($filename,"r")) || die("Error open !filename");
         if(substr_count($file,'.pif') || substr_count($file,'.exe') || substr_count($file,'.scr') ||
         substr_count($file,'.com') || substr_count($file,'.bat') ){
         $buff = "<Script>\n";
         $buff .= "alert('警告:该邮件中可能携带有病毒程序!')\n";
         $buff .= "</Script>";
         echo $buff;
         exit();
         }
        
         if (true){                                    #把下面一行改为这行
         //if ($get_Cmd=="Download"){
         $filename = "$CFG_TEMP/$SG_DOMAIN/$SG_USERNAME/$get_File";
         ($FD_ATTACH = fopen($filename,"r")) || die("Error open !filename");
         header("Content-type: $get_MimeType; name=\"$get_File\"\n");
         header("Accept-Ranges: bytes\n");
ASP.NET 2.0创建自定义Web控件:【上一篇】
windows下最爱的网关防火墙kwf:【下一篇】
【相关文章】
  • 在redhat as4中安装配置qmai+webmaill(一)
  • DNN WebMail Module 开发 —— 第一篇 SharpWebMail 调试篇
  • sendmail+openwebmail来实现webmail的安装
  • rhas3.0+qmail+mysql+smtp+vpopmail+igenus+qmailadmi
  • 国内所有webmail安全漏洞 {转}
  • 深入使用qmail+vpopmail+sqwebmail
  • qmail+vpopmail+sqwebmail实验步骤[转]
  • 深入使用qmail+vpopmail+sqwebmail[转]
  • qmail+vpopmail+sqwebmail一个非常优秀的Web mail解决方案
  • openwebmail
  • 【随机文章】
  • RAID全攻略
  • DNN皮肤生成机制剖析
  • 梦网网关接口
  • Linux procfs详解 (1)
  • 雾坐标扩展(EXT_fog_coord)
  • shell学习笔记1:hello world!
  • 让Win XP操作系统搜索更快更准
  • 利用RMAN做数据迁移
  • at命令的用法
  • ado .net calling stored Procedure
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.