分享imp 附件另存时的档名问题(2000/7/28) (颜国雄): imp(2.0.11) 在处理用 Outlook 寄来的附件档,下载的部份少了一个将档名解码的动作,以致於无法正确的抓到原来的档名,不过,这锅好像还是得怪 Outlook 老用自己的标准!! 解决的方法很简单,只要在 imp/view.php3 中加入一行即可迎刃而解 找到 view.php3 中下面的部份 -------------------------------------------------------------------------- case DOWNLOAD_ATTACH: $mime = new mime_part_data; $mime->parse($part); /* This should force a save file dialog... */ /* doesn’t seem to force save file dialog, using RFC822 does * even for IE * header("Content-type: application/octet-stream"); */ header("Content-type: application/RFC822"); break; 改成: -------------------------------------------------------------------------- case DOWNLOAD_ATTACH: $mime = new mime_part_data; $mime->parse($part); //就是下面这行啦!!将编码过的档名解码 $mime->name = chop(decode_mime_string($mime->name)); /* This should force a save file dialog... */ /* doesn’t seem to force save file dialog, using RFC822 does * even for IE * header("Content-type: application/octet-stream"); */ header("Content-type: application/RFC822"); break; 简易安装 (蔡福兴):必须先把 apache php3 imap 装好! 1.把 horde-1.0.10.tar.gz & imp-2.0.11.tar.gz 抓回来 2.tar zxvf horde-1.0.10.tar 3.tar zxvf imp-2.0.11.tar.gz 4.mv horde-1.0.10 (你WEB的root)/horde 5.mv imp-2.0.11 (你WEB的root)/horde/imp 6.cd (你WEB的root)/horde 7.sh install.sh 8.在浏览器上执行 http://(your web site)/horde/setup.php3 照指示一直按 Next 9.sh secure.sh 忘了告诉大家! imp相关档案可至以下网址抓取http://cnpa.yzu.edu.tw/~stylon/software/imp/ imp在本校的linux上有安装完成!应该没有问题! IMP增加同时上线人数(经测试45人以上没问题) (颜国雄): 将 /etc/inetd.conf 中有关 imap 的那行 imap stream tcp nowait ................. 改成 imap stream tcp nowait.300 ................. 重新启动 inetd Q: 请问apache怎麽开启php3呢 谢谢 我在linux6.0下面. (颜国雄): 先找 mod_php* 的 rpm 可在 ftp://www.tp.edu.tw/pub/mod_php3 中找到: mod_php3-3.0.12-1cc.i386.rpm mod_php3-imap-3.0.12-1cc.i386.rpm mod_php3-MySQL-3.0.12-1cc.i386.rpm 如果不使用资料库,只要安装前两个 rpm -Uvh mod_php3* 然後修改 apache 的设定档(应该是在 /etc/httpd/conf/ 下吧) 找设定档中有关 php 的部份,将解的 # 字号拿掉 存档後执行 /etc/rc.d/init.d/httpd restart 重新启动 apache (李权哲):装完php3的套件後,修改apache的相关设定档再重新启动apache, 如: 一.修改httpd.conf(apache的设定档,在 /etc/httpd/conf): 第67行-->#LoadModule php3_module modules/libphp3.so 改成-->LoadModule php3_module modules/libphp3.so 第113行-->#AddModule mod_php3.c 改成-->AddModule mod_php3.c 二.修改 srm.conf 档: 第30行-->DirectoryIndex index.html index.shtml index.cgi 改成-->DirectoryIndex index.html index.shtml index.cgi index.php3 第164行-->#AddType application/x-httpd-php3 .php3 改成--->AddType application/x-httpd-php3 .php3 第165行-->#AddType application/x-httpd-php3-source .phps 改成--->AddType application/x-httpd-php3-source .phps 三.重新启动 apache: /etc/rc.d/init.d/httpd restart 或kill -1 apache的pid 即可使用php3 IMP安装补充说明 (惠志坚): 1.如何直接进入 imp 的 login 画面: a: 请将 http://(your web site)/horde 改为 http://(your web site)/horde/imp 2.如何在一进入 imp 的 login 画面就显示中文: a: 请在 /home/httpd/html/horde/imp/config/defaults.php3 将原来: $default->language = ’en’; 改为: $default->language = ’big5’; (李权哲): 在imp中如果要让user使用地址簿签名档等功能必 须先安装如MySql,mSQL等database server,如果您的 系统已安装了,必须再建立相关的dabase,table才可. 因为本校系统装的是MySQL,故以MySQL为例,步 骤如下: 一.首先以root连上MySQL. 方法为:#mysql -uroot -p(您的密码) 二.建立一名为imp的database,指令为: CREATE DATABASE imp; 三.选择imp这个database,指令为: USE imp; 四.建立imp_addr和imp_PRef两个table,指令为: CREATE TABLE imp_addr ( user text, address text, nickname text, fullname text ); CREATE TABLE imp_pref ( user text, sig text, fullname text, replyto text,lang text); 建立完後就可正常使用 有一点很重要,在执行setup.php3时,不可只猛按NEXT, 在第五还是第六个步骤时,它会问要不要启动资料库功能, 预设值是没有要改一下. IMP安装补充说明总整理(含资料库设定) (惠志坚): imp使用mysql资料库总整理(新增 imp 使用者方法): 1. #mysql -uroot -p(您的密码) 2.CREATE DATABASE imp; 3.USE imp; 4.CREATE TABLE imp_addr ( user text, address text, nickname text, fullname text ); 5.CREATE TABLE imp_pref ( user text, sig text, fullname text, replyto text,lang text); 6. GRANT ALL ON imp.* TO impuser@localhost IDENTIFIED BY '您的密码'; 7. exit 8. cd /home/httpd/html/horde 9. sh install.sh 10. 回到浏览器 http://(your web site)/horde/setup.php3 11. next 到第十页, 将资料库开启, 选项分别为: true , mysql , impuser , 您的密码 12sh secure.sh 13. 修正之後画面会回英文, 要设定为中文的话, 在 /home/httpd/html/horde/imp/config/defaults.php3 将原来: $default->language = ’en’; 改为: $default->language = ’big5’; 14.: 若资料库建立错误要重建的话, 先将原资料库 imp 丢弃,语法如下: DROP DATABASE imp; Q: imp && /var/tmp. (颜国雄): 今早两间电脑教室(近80台)同时在使用 imp 本来都好好的,结果快下课时发生一件以前没遇过的状况: ---------------------------- May 26 09:21:05 w3 imapd[10208]: Fatal error user=s84382 host=w3.lsps.tp.edu.tw May 26 09:21:05 w3 imapd[10208]: IMAP toolkit crash: Out of free storage May 26 09:21:06 w3 imapd[10182]: Fatal error user=s85308 host=w3.lsps.tp.edu.tw May 26 09:21:06 w3 imapd[10182]: IMAP toolkit crash: Out of free storage ---------------------------- imp 在处理附件时会使用到系统的暂存目录 /var/tmp 我们的状况就是隔壁在教学生使用附加档,两个班同时运作,让 /var/tmp 所在的 partition 不够用了 所以系统的暂存目录 /var/tmp /tmp 或 /usr/tmp 最好是在容量较大的 partition 早上就 rm -R /var/tmp (得注意一下是否有别的程式在使用) mkdir /home/tmp cd /var ln -s /home/tmp 做完就解决问题了 /tmp 也可以如法泡 一点小心得跟大家分享 Q: 想把IMP登录的"语言"选择消失要如何做??. (黄彦霖): IMP登录画面有一个语言选择, 我想大家应该都只会用到中文, 如果我想把他给取消不见, 要 如何改?? (颜国雄): 修改 imp/config/defaults.php3 $default->user_change_language= false; $default->language = ’xxxx’; Q: imp 装好了但无法执行?. (李佳茂): 我遇到了和吴中复老师在4/29编号546相同的问题,在键入 http://163.18.226.21/horde/imp/ 後出现 Fatal error: WebClient is not a class in /home/horde/imp/index.php3 on line 16 如果键入 http://163.18.226.21/horde/index.php3 则出现 Fatal error: WebClient is not a class in /home/httpd/html/horde/index.php3 on line 28 请问这是什麽原因(是php3没起来吗?还是imp的问题?),又该如何解决?(我使用 redhat 6.0+cle0.8) php3版本使用颜国雄老师所说的mod_php3-3.0.12-1cc,mod_php3-imap-3.0.12-1cc (李佳茂): 我来自问自答。 经过我一番思考及推敲之後,终於找到了解决的方法。为了怕其它先进也步我後尘,误触雷 池造成遗憾,故加以说明。 首先如我原先的问题中所述的系统及 php3 软体版本的环境 下,我发现我本身的问题为: 1. /home/httpd/html/horde/imp 的拥有者及拥有群组均非 root 所以我先以 chown root.root * -R 把拥有者及拥有群组改过 来。 2.後来发现错的不光如此,我所用的 IMP 版本也有问题, 我所用 imp-2.0.11-big5. tar.gz 的版本会造成原有问题的错 误,所以改用 imp-2_0_11-big5_tar.tar 这个版本的 imp 重 新 tar 开再安装就没问题了。 3.其实上述因版本不同所造成的问题我也曾遇过,不料又 被我碰上了,心中虽感受挫 ,但自己解决问题的感觉真 好,我想实验室的各位先进也都有同等的经验吧!:p Q: imp如何管理多台mail server? (志峰): 有些学校的imp可以管理数台mail server,请问是如何做到 的?我的imp是装在redhat上,mail server有两部1.freebsd 2.redhat ,请问要如何用redhat上的imp来收发freebsd上 的mail 邮件? (黄信丰): 到/horde/imp/config 里面,修改 defaults.php3 档案 $default->use_server_list = false; 改为 $default->use_server_list = true; 并修改 servers.php3 内之 $IMAPServers[’mail1’] = new IMAPServer(’老师邮件伺服器’, ’mail1.xxx.xxx.edu.tw’, 143 ); $IMAPServers[’mail2’] = new IMAPServer(’学生邮件伺服器’, ’mail2.xxx.xxxx.edu.tw’, 143 ); xxx.xxx.xxx.edu.tw xxx.xxx.xxx.edu.tw 为学校不同的mail主机 (周凡淇): 装 imp 的时候设定为可以改变 server 的位置~ 使用者要收其它 server 的信 只要在【主机】的地方输入欲收信的位置即可... http://math.tmtc.edu.tw 里面有一个 webmail,可以收其它主机的信... 连 hinet 都可以~~ Q: imp的bug??? (陈靖): 不知道各位老师是否有发现在使用imp寄信时,寄件人可以任意更改,这样的话............不就代表我们可以用昵名者的方式............! (颜国雄): 不用那麽麻烦啦!! 这点作者早就考虑到了 修改 imp/config/defaults.php3 中 将 $default->user_change_from = true; 改成 $default->user_change_from = false; Q: 附件(夹档)有问题 (郭书轩): 当我测试imp後发现在附件即夹档的档名点开发现是乱码不像在outlook express内呈现是”学生.doc "正常的中文显示,因此请 问各位imp的爱用者,此问题是否有解? (颜国雄): 将下面的内容 imp/lib/mimetypes.lib 中下面的内容 2.0.11 版大概在 170 行左右 -------------------------------------------------------- if ($this->action[’view’]) $ret .= ""; else $ret .= "$this->icon $this->name"; -------------------------------------------------------- 改为 -------------------------------------------------------- if ($this->action[’view’]) $ret .= ""; else $ret .= "$this->icon " . decode_mime_string($this->name); -------------------------------------------------------- 主要的原理是将以 base64 编码过的档名 用 decode_mime_string 解码 那锅 $this->name 就是附加档的档名 |
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.