摘要:2004-06-10 08:43:26 真没劲http://www.hanwen.net.cn/1.jpg,大家帮我看看这个顺序图,谢谢
2004-06-10 08:45:58 青润昨天我给你说过了三个问题,还有一些:4、事件流中断。5、方法调用递进关系不明确。
2004-06-10 08:46:20 青润初步看,大概就是这五个问题。更多的就要联系业务来检查了。
2004-06-1......
摘要:array() function:返回一个数组 syntax:array(list) arguments:字符,数字均可 example:<%dim myarray()for i = 1 to 7 redim preserve myarray(i) myarray(i) = weekdayname(i)next%> result:建立了一个包含7个元素......
在rhas3.0上建立一个完整的邮件系统(内含四部分)修正版 V
http://www.chinaunix.net 作者:llzqq 发表于:2004-02-28 07:39:56
rhas3.0 + qmail + mysql + smtp + vpopmail + igenus + qmailadmin 【程序编程相关:
如何更新父窗体】 【推荐阅读:
取消网页的记忆功能】 【扩展信息:
Apache Module: Custo】 一.安装说明. 为了方便安装我在安装redhat3.0时选了apache.php.mysql,注意mysql-devel与mysql-server开发包一定要装上,其中mysql-server可以在网上找原码重编译生成也可以到我的ftp下载:ftp://download:123456@nero.3322.org/download/postfix/mysql-server-3.23.58-1.i386.rpm,另外大家在安装linux时一定要装上软件开发与内核开发两个软件组,这样可以避免不必要的由于编译环境的问题而导致的安装问题,这点对于linux新手优为重要. 二.安装ucspi-tcp-0.88 1.这是由于redhat3.0(包括redhat 9.0)的glibc的版本有问题,必须有下列软件及补丁才能编译 http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.errno.patch http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.nobase.patch 2.安装ucspi-tcp-0.88 #tar zxvf ucspi-tcp-0.88.tar.gz #cd ucspi-tcp-0.88 #patch -p1 < ../ucspi-tcp-0.88.a_record.patch #patch -p1 < ../ucspi-tcp-0.88.errno.patch #patch -p1 < ../ucspi-tcp-0.88.nobase.patch #make #make setup check 三.安装qmail 1.需要的软件及补丁 http://cr.yp.to/software/qmail-1.03.tar.gz http://www.ckdhr.com/ckd/qmail-103.patch http://www.qmail.org/qmailqueue-patch http://www.shupp.org/patches/qmail-maildir++.patch http://qmail.te8.com/rpms/glibc-2.3.1/qmail-1.03.errno.patch http://qmail.te8.com/rpms/glibc-2.3.1/qmail-1.03.qmail_local.patch http://members.elysium.pl/brush/qmail-smtp-auth/dist/qmail-smtpd-auth-0.31.tar.gz 2.建立目录 # mkdir /var/qmail # mkdir /var/qmail/alias 3.建组及用户 # groupadd nofiles # groupadd qmail # useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent # useradd qmaild -g nofiles -d /var/qmail -s /nonexistent # useradd qmaill -g nofiles -d /var/qmail -s /nonexistent # useradd qmailp -g nofiles -d /var/qmail -s /nonexistent # useradd qmailq -g qmail -d /var/qmail -s /nonexistent # useradd qmailr -g qmail -d /var/qmail -s /nonexistent # useradd qmails -g qmail -d /var/qmail -s /nonexistent 4.打补丁及编绎安装qmail #tar zxvf qmail-1.03.tar.gz #tar zxvf qmail-smtpd-auth-0.31.tar.gz #cp qmail-smtpd-auth-0.31/base64.* qmail-1.03 #patch -d qmail-1.03 < qmail-smtpd-auth-0.31/auth.patch #cd qmail-1.03 #patch -p1 < ../qmail-103.patch #patch -p1 < ../qmailqueue-patch #patch -p1 < ../qmail-maildir++.patch #patch -p1 < ../qmail-1.03.errno.patch #patch -p1 < ../qmail-1.03.qmail_local.patch #vi qmail-smtpd.c 将函数straynewline中的451改为553 #make setup check #./config-fast domain.com 5.添加别名用户 # touch /var/qmail/alias/.qmail-root # touch /var/qmail/alias/.qmail-postmaster # touch /var/qmail/alias/.qmail-mailer-daemon 6.如果存在postfix与sendmail,将它们停用. #/etc/rc.d/init.d/sendmail stop #cp /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail #rm -f /etc/alternatives/mta #ln -s /usr/sbin/qmail.sendmail /etc/alternatives/mta #rm -f /usr/lib/sendmail #rm -f /usr/sbin/sendmail #ln -s /var/qmail/bin/sendmail /usr/lib/sendmail #ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail #chmod 777 /usr/sbin/sendmail 四.安装vpopmail 1.下载vpopmail http://www.inter7.com/vpopmail/vpopmail-5.2.1.tar.gz 2.建立目录 #mkdir /home/vpopmail #mkdir /home/vpopmail/etc 3.添加用户与组 #groupadd vchkpw #useradd -g vchkpw vpopmail 4.添加mysql的vpopmail用户,用于操作vpopmail数据库 #mysqladmin -u root password **** 设置mysql的root密码. #mysql -u root -p mysql>create database vpopmail; mysql>grant all on vpopmail.* to vpopmail@localhost identified by "密码"; 5.编译安装vpopmail #tar zxvf vpopmail-5.2.1.tar.gz #cd vpopmail-5.2.1 #vi vmysql.h =========================== vmysql.h ============================== #define mysql_update_server "localhost" #define mysql_update_user "vpopmail" #define mysql_update_passwd "****" (改成你设置的密码) #define mysql_read_server "localhost" #define mysql_read_user "vpopmail" #define mysql_read_passwd "****" (改成你设置的密码) ========================================================== 6.创建tcp.smtp # vi /home/vpopmail/etc/tcp.smtp ==================== tcp.smtp ============================ 127.0.0.1:allow,relayclient="" :allow ========================================================== #cd /home/vpopmail/etc #tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp 7.进行编译: # ./configure --prefix=/home/vpopmail --enable-mysql=y --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql --enable-default-domain=domain.com --enable-passwd=n --enable-defaultquota=52428800s (10485760:10mb,20971520:20mb,52428800s:50mb) --enable-tcprules-prog=/usr/local/bin/tcprules --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp --enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw --enable-ip-alias-domains=n # make # make install-strip 8.创建虚拟域 # cd /home/vpopmail/bin # /home/vpopmail/bin/vadddomain 域名 密码 # /home/vpopmail/bin/vadduser 用户名 密码 (用户名要带域名,如demo@demo.com) 删除创建域的命令是:./vdeldomain 域名 五.设置smtp-auth 1.修改vchkpw的属性 #chmod 4755 vchkpw #chown root.root vchkpw 2.下载安装cmd5checkpw wget http://members.elysium.pl/brush/cmd5checkpw/dist/cmd5checkpw-0.22.tar.gz #tar zxvf cmd5checkpw-0.22.tar.gz #cd cmd5checkpw-0.22 #make #make install 六.生成qmail的启动脚本 #cp /var/qmail/boot/home /var/qmail/rc # vi /var/qmail/rc //对rc文件进行修改,以决定投送方式: ================= rc ========================= #!/bin/sh # using splogger to send the log through syslog. # using dot-forward to support sendmail-style ~/.forward files. # using qmail-local to deliver messages to ~/mailbox by default. exec env - path="/var/qmail/bin:$path" qmail-start ./maildir/ splogger qmail & ================== rc ========================== #vi /var/qmail/smtp =================== smtp ======================== #!/bin/sh qmailduid=qmaild nofilesgid=nofiles /usr/local/bin/tcpserver -h -r -l 0 -t 1 -v -p -x /home/vpopmail/etc/tcp.smtp.cdb -u $qmailduid -g $nofilesgid 0 smtp /var/qmail/bin/qmail-smtpd domain.com /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1 | /var/qmail/bin/splogger smtpd 3 & =================== smtp ============================ #vi /var/qmail/pop3 //编辑pop3服务的启动脚本 ====================== pop3 ========================= #!/bin/sh /usr/local/bin/tcpserver -h -r 0 pop3 /var/qmail/bin/qmail-popup domain.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d maildir & ======================= pop3============================== #chmod 755 /var/qmail/rc #chmod 755 /var/qmail/smtp #chmod 755 /var/qmail/pop3 七.运行qmail并测试 #/var/qmail/rc #/var/qmail/smtp # /var/qmail/pop3 #ps aux | grep "qmail" 查看pop3与smtp是否工作 # telnet 192.168.0.1 110 # telnet 192.168.0.1 25 注意在outlook中设置邮件帐号时,用户名后要加上域名,如llzqq@domain.com.如果qmail出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqld与maillog日志记录. 八.安装并运行igenus 1.下载最新的安装包:igenus_2_20030516_snap.tgz #tar zxvf igenus_2_20030516_snap.tgz -c /var/www/html 2.建temp文件夹 cd /var/www/html/igenus mkdir temp chmod -r 0755 temp chown -r vpopmail:vchkpw temp 在httpd.conf中设置权限不允许访问temp目录. <directory "/var/www/html/webmail/temp"> deny from all </directory> 3.修改httpd.conf #vi /etc/httpd/conf/httpd.conf user apache group apache 修改为: user vpopmail group vchkpw 为了解决apache的默认语言问题添加这个: adddefaultcharset gb2312 #/etc/rc.d/init.d/httpd restart 4.解决个别邮箱拒收邮件的问题(如新浪网) 修改邮件签名信息 #vi /var/www/html/igenus/config/config_inc.php $cfg_basepath = "/var/www/html/igenus"; $cfg_mysql_host = ´localhost´; $cfg_mysql_user = ´vpopmail´; $cfg_mysql_pass = ´******´; 改成你的密码 $cfg_mysql_db = ´vpopmail´; $cfg_temp = $cfg_basepath."/temp"; 删除其中的 “igenus is a free webmail interface, no fee, free download” 修改其中的http://www.igenus.org为http://domain.com #vi /var/qmail/control/helohost =============== helohost ==================== domain.com =============== helohost ==================== #chmod 755 /var/qmail/control/helohost 如果你用的邮件服务器是postfix就这样处理 postconf -e "smtp_helo_name = 我的邮件服务器的域名(a记录)" 如果你用的邮件服务器是sendmail就这样处理 vi /etc/sendmail.cf cw我的邮件服务器的域名(a记录) 5.修正邮箱无退信问题 # rm -f /usr/sbin/sendmail ##如果你已经卸载了sendmail可省略这步 # cd /usr/sbin # ln -s /var/qmail/bin/sendmail 如果用qmailadmin管理邮箱则这样处理 进入qmailadmin -->主菜单“邮件账号”-->set no default catch all account 就ok了.这时网页上面的catchall应该显示为bounced. 6.修改config_inc.php文件 # cd /var/www/html/igenus/config # vi config_inc.php =============== config_inc.php ==================== $cfg_basepath = "/var/www/html/igenus"; $cfg_mysql_host = ´localhost´; $cfg_mysql_user = ´vpopmail´; $cfg_mysql_pass = ´****´; 这里改成你的密码 $cfg_mysql_db = ´vpopmail´; $cfg_temp = $cfg_basepath."/temp"; ============================================== 7.重新编制mysql数据库表格 #mysql -u root -p mysql>use vpopmail; mysql>alter table vpopmail drop primary key; mysql>alter table vpopmail add column pw_id int(5) not null primary key auto_increment; mysql>create table address ( id int(11) unsigned not null auto_increment, pw_id int(5) unsigned not null default ´0´, name varchar(64) not null default ´´, email varchar(128) not null default ´´, unique key id (id), key pw_id (pw_id) ) type=myisam; 8.如果需要,用vadddomain与vadduser添加新域名与新用户 9.qmail限制附件的大小 在/var/qmail/control/databytes 文件中设置附件的大小,可以实现对qmail附件大小的限制,一般安装完成后,这个文件是没有的,你可以自己创建. smtp方式是以qmail的databytes作限制的 创建databytes并设置邮件最大为4m # echo 4000000 >/var/qmail/control/databyte 10.限制单域的邮箱数量 vi /home/vpopmail/domains/domain.com/.qmailadmin-limits ===============.qmailadmin-limits ==================== maxpopaccounts 200 default_quota 52428800s ===============.qmailadmin-limits ==================== chmod 700 /home/vpopmail/domains/domain.com/.qmailadmin-limits chwod vpopmail:vchkpw /home/vpopmail/domains/domain.com/.qmailadmin-limits 这样就把邮箱总数限制在200个,每个邮箱为50m了 11.用qmail封mailfrom vi/var/qmail/control/badmailfrom 这个控制文件实现拒收邮件功能的,每一个地址要单独一行.而且,不用重起qmail就能生效.例如: peng@96633.net -----限制一个特定的用户 @sina.com -----限制整个域中的邮件 12.设置igenus 定义允许上传下载的邮件的大小 # vi /etc/php.ini max_execution_time = 60 memory_limit = 16m post_max_size = 4m upload_max_filesize = 4m file_uploads = on session.auto_start = 1 register_globals = on session.bug_compat_42 = 1 session.bug_compat_warn = 0 # vi /etc/httpd/conf.d/php.conf <files *.php> setoutputfilter php setinputfilter php limitrequestbody 4242880 </files> 九.编辑qmail自启动脚本 #vi /etc/rc.d/init.d/qmail ===================== qmail ====================== #! /bin/sh # chkconfig: 2545 90 90 # description: qmail (include smtp and pop3) auto start/stop scripts. . /etc/rc.d/init.d/functions case "$1" in start) echo -n "start qmail:" /var/qmail/rc & echo "." echo -n "start smtp service:" /var/qmail/smtp echo "." echo -n "start pop3 service:" /var/qmail/pop3 echo "." ;; stop) echo "stop qmail:" ...
下一页 摘要:当我们在写程序的时候,字符串的处理频率是相当高的。比如像数字转换为字符,或者字符转换为整型、双精度型等,如果能够妙用字符串的功能,将会起到事半功倍的效果,这又何乐而不为呢。根据msdn的解释:支持两种转换格式,如下所示void format( lpctstr lpszformat, ... );其中参数lpszformat 是格式控制字符串,void format( uint nformatid,......