jq有两个层绑定了jq touchstartt,怎样在运行第一个的时候拒绝第二个运行

jQuery方法源码解析--jQuery($)方法(一)
jQuery方法源码解析--jQuery($)方法
1 本文分析的代码为jQuery 1 11 1版本,在官网上下载未压缩版即可
2 转载请注明出处
jQuery方法:
这个方法大家都不陌生,在使用过程中,它还有另外一个名字,美元符
jQuery方法解析--jQuery($)方法
1.本文分析的代码为jQuery.1.11.1版本,在官网上下载未压缩版即可
2.转载请注明出处
jQuery方法:
这个方法大家都不陌生,在使用过程中,它还有另外一个名字,美元符号:$,$(...)其实就是jQuery(...);
它有很多种用法,通常都返回一个jquery对象,也可以作为$(document).ready(...);的简写形式,分析之前先看一下jQuery都有什么用法。
1.jQuery( selector [, context ] )
selector:S
context:Element or jQuery
在context中返回一个符合selecttor表达式的jquery对象,context默认为$(document),如果找不到自然返回一个空的jquery对象,也就是length为0的jquery对象;
$( "div.foo" ).click(function() {
$( "span", this ).addClass( "bar" );
2.jQuery( element ),jQuery( elementArray )
element :Element
elementArray : Array of Element
将DOM元素或数组转化(包装)为一个jquery对象。PS:从实现的原理上来说,称之为包装更合适。
eg:$(document),$(this),$(document.getElementsByTagName("div"));
3.jQuery( object )
object:PlainObject
将一个普通对象转为jQuery对象,普通对象:PlainObject,就是一个仅有键值对的对象;
这有什么用处?!暂时不大了解,官网给出解释:
At present, the only operations supported on plain Script objects wrapped in jQuery are:
.data(),.prop(),.on(), .off(), .trigger() and .triggerHandler().
The use of .data() (or any method requiring .data()) on a plain object will result in a new
property on the object called jQuery{randomNumber} (eg. jQuery).
4.jQuery( selection )
selection :jQuery
复制一个jQuery对象
When a jQuery object is passed to the $() function,
a clone of the object is created. This new jQuery object references the same DOM elements as the initial one.
5.jQuery()
返回一个空的jQuery对象
6.jQuery( html [, ownerDocument ] )
html:htmlString
ownerDocument:document
创建一个新的dom元素,第二个参数指定创建元素所使用的当有多个iframe场景可能会用到第二个元素
eg:$( "My new text" ).appendTo( "body" );
7.jQuery( html, attributes )
html: htmlString,该场景下必须是单标签
attributes : PlainObject,一个使用键值对的形式描述元素属性的对象
"class": "my-div",
touchstart: function( event ) {
// Do something}
}}).appendTo( "body" );
如果第二个对象的属性名字在jQuery中是一个函数(还可能是内部函数),会调用函数,属性值会被当做参数。如果attributes过于复杂,个人不建议这么写,写成下面这样比较清晰。
.addClass( "my-div" )
touchstart: function( event ) {
// Do something
.appendTo( "body" );
8.jQuery( callback )
callback:function
没什么好说的,就是$(document).ready(callback)的简写形式。
what is jQuery Object??
jQuery方法,通常返回的是一个jQuery对象,那么,首先我们必须要知道jQuery对象到底是什么,它大致长成什么样子.
在html写几个li:
创建jQuery对象,并输出出来:
console.log($("li"));
在chrome中运行如下:
可以看出来jQuery对象,具有类数组的结构,有着从0到length-1的索引和length属性(但没有数组的concat或者slice等其他方法),而每个li,就是element DOM对象.这个类数组的结构,可以看做是原生的js对象数组,除了这个类数组的结构外,其他的就是一些jQuery属性和方法,打开指向prototype的隐性指针,就可以看到很多我们常用的jQuery方法.
总结一下,jQuery对象,就是在js对象的基础上,包装了一些jQuery方法的对象,有一个英文词形容的比较贴切,就是wrap(包裹).
jQuery方法的结构vc3Ryb25nPjxicj4KPGJyPgrU2mpRdWVyeTEuMTEuMbXE1LTC69bQo6zL0cv3alF1ZXJ5LNTa1LTC67+qyry1xLK71La0pqOsvs2/ydLUv7S1vcjnz8K1xLT6wuujugo8YnI+CgovLyBEZWZpbmUgYSBsb2NhbCBjb3B5IG9mIGpRdWVyeTxicj4KalF1ZXJ5ID0gZnVuY3Rpb24oIHNlbGVjdG9yLCBjb250ZXh0ICkgezxicj4KICAgICAgLy8gVGhlIGpRdWVyeSBvYmplY3QgaXMgYWN0dWFsbHkganVzdCB0aGUgaW5pdCBjb25zdHJ1Y3RvciA="enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
可以看到,jQuery就是一个函数,返回了一个对象.
== ,what?! 居然返回的是一个 jQuery.fn.init对象?!
我们搜一下jQuery.fn.init这货:
init = jQuery.fn.init = function( selector, context ) {
var match,
在这个函数结束之后,下面这个代码扑面而来(不同版本这些代码的位置不一定一样,还是搜索比较靠谱):
// Give the init function the jQuery prototype for later instantiation
init.prototype = jQuery.
再搜索"jQuery.fn =",可以看到jQuery.fn = jQuery.prototype = {...};
这回明了了,jQuery.fn就是jQuery这个函数的prototype,而init.prototype = jQuery.fn,就是说:
jQuery.fn.init.prototype = jQuery.prototype
那么通过jQuery.fn.init.prototype的这个函数构造出来的对象,就可以通过指向jQuery.fn.init.prototype的引用,找到jQuery的prototype下的方法,从某种意义上来说,通过jQuery.fn.init构造出来的方法,就是jQuery对象了.
总结一下,jQuery对象的构造其实是通过jQuery.fn.init来实现的,通过init.prototype = jQuery.prototype,令jQuery.fn.init对象可以使用jQuery.prototype的方法属性.
jquery.init方法
在分析init方法之前,必须认识该方法用到的两个正则表达式:
// A simple way to check for HTML strings
// Prioritize #id over
to avoid XSS via location.hash (#9521)
// Strict HTML recognition (#11290: must start with <)
rquickExpr = /^(?:\s*()[^>]*|#([\w-]*))$/
从注释上看也知道,这是匹配html的正则表达式,因为某个bug的原因,还要同时匹配#id形式的字符串,进行优先处理.
/^(...)$/-->包裹着开始和结束定位符,匹配整个字符串;
(?:...) --> ?:表示这个分组不捕获,仅仅是起分组的作用,可以提高性能;
-->匹配可以空白字符开头,可以任意非'>'结尾的形式的字符串
-->匹配以#开头,跟着任意字母或减号的字符串
整体翻译过来,就是匹配或#id形式的字符串
执行一下:
rquickExpr = /^(?:\s*()[^>]*|#([\w-]*))$/;
console.log(rquickExpr.exec(""));
输出:["", "", undefined, index: 0, input: ""]
另外一个正则:
var rsingleTag = (/^(?:|)$/);
看名字可以猜到,这是个匹配单标签的形式。
-->匹配一个标签,可以使或的形式
(?:|) -->\1表示分组1中捕获的字符串,也就是匹配和前面一样的闭合标签或者为空字符串(注意后面的或者符号什么也没跟,就是或者是空字符串)
合起来就是匹配 或者是 ;
不难发现,这个正则匹配不了这种带属性的单标签,也匹配不了asdf这种带文本节点的标签,跟确切的说,这个正则只匹配单的空标签.
jQuery方法可以说是JQ最核心的方法了,而它通过init方法实现,那么它是不是很长呢?!
还真不是,也就100行,因为它还调用了jQuery的其他方法,下面单就这个init方法结构,进行分析。
直接搜索jQuery.fn.init,很快就能找到init函数的源码,大致过一下,发现很多if else,这和jQuery这个函数功能的多样性相符合;
下面直接在代码中写注释来解析这段代码
init = jQuery.fn.init = function( selector, context ) {
var match,
//处理jQuery()形式,返回空的jQuery对象
// HANDLE: $(""), $(null), $(undefined), $(false)
if ( !selector ) {
// Handle HTML strings
/*#源码分析
*匹配html(以结尾,或者是...形式,推荐写严格的html),或者是#id形式,并且确保,#id情况下,没有context
if ( typeof selector === "string" ) {
if ( selector.charAt(0) === "" && selector.length >= 3 ) {
/*#源码分析
*假设以结尾的,并且长度大于3的String都是htmlString,然后存到match中
// Assume that strings that start and end with
are HTML and skip the regex check
match = [ null, selector, null ];
match = rquickExpr.exec( selector );
/*#源码分析
*what is match?
*我们分析过rquickExpr这个正则表达式,它有两个分组(最外面的那个分组不捕获,没算),
*这样使用exec方法后,如果匹配到了,则应该返回一个长度为3,包括index和input属性的数组。
*那么match[0]是整体匹配的数组,match[1]是匹配的标签(如果有),match[2]匹配#id(如果有)
*显然match[1],match[2]只能有一个被捕获
// Match html or make sure no context is specified for #id
if ( match && (match[1] || !context) ) {
//处理jQuery( html [, ownerDocument ] ),根据html生成dom元素,返回jQuery对象,就像下面的注释$(html) -> $(array)
//match[1]
// HANDLE: $(html) -> $(array)
if ( match[1] ) {
/*#源码分析
*如果context是jQuery对象,转为js原生对象.
*我们说过,jQuery对象就是给js原生对象包装了了一些方法的对象,而原生对象以类数组的形式存在jQuery中,
*所以context[0],就是去jQuery对象中的第一个原生对象,在这里context期待传入的就是document或者$(document)
context = context instanceof jQuery ? context[0] :
/*#源码分析
*这里调用了jQuery.parseHTML方法,就是把htmlString转为dom数组
*还调用了jQuery.merge(first,second),接收两个"类数组"参数,
*这个方法是把第二个数组追加到第一个数组尾部,会改变第一个数组
*前面讲过,jQuery对象具有类数组结构,当前还没有操作this,它的length = 0
*所以下面这段代码,就是把htmlString转为dom数组并追加到this的尾部。
// scripts is true for back-compat
// Intentionally let the error be thrown if parseHTML is not present
jQuery.merge( this, jQuery.parseHTML(
context && context.nodeType ? context.ownerDocument || context : document,
/*#源码分析
*处理jQuery( html, attributes )这种用法
*第一个参数必须是单标签,第二个参数是一个普通对象,类似{html:"hello world",id:"test"}
*注意,这种情况下,会走上面的分支,已经把单标签转为dom并拼接到了this中了
// HANDLE: $(html, props)
if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
for ( match in context ) {
/*#源码分析
*这里的match是context的属性
*如果有match的方法,就会调用match方法
*比如{html:"hello world",id:"test"},就会调用this.html("hello world")方法
*否则按照属性处理
// Properties of context are called as methods if possible
if ( jQuery.isFunction( this[ match ] ) ) {
this[ match ]( context[ match ] );
// ...and otherwise set as attributes
this.attr( match, context[ match ] );
/*#源码分析
*处理match[2]被捕获到的情况,也就是#id的情况
// HANDLE: $(#id)
elem = document.getElementById( match[2] );
// Check parentNode to catch when Blackberry 4.6 returns
// nodes that are no longer in the document #6963
// 为了兼容Blackberry 4.6中的一个bug,不但判断element,还要判断elem.parentNode
if ( elem && elem.parentNode ) {
// Handle the case where IE and Opera return items
// by name instead of ID
/*#源码分析
*早期的IE的document.getElementById()有bug,在查找元素时,会把表单的元素的name也看成是id,
*这时候使用find方法来兼容,搜索一下"rootjQuery =",会发现rootjQuery = jQuery( document );
if ( elem.id !== match[2] ) {
return rootjQuery.find( selector );
/*#源码分析
*否则直接放到this[0]中
// Otherwise, we inject the element directly into the jQuery object
this.length = 1;
this.context =
this.selector =
/*#源码分析
*处理$(复杂选择器的情况),采用find方法处理并返回,
*这里两个else的判断,就是为了确保是jQuery对象调用find方法,
*如果context不是jQuery对象,使用constructor构造一个
*context.jquery-->jquery是jQuery.fn上的一个版本属性,在此用这个来判断是否是jQuery对象。
// HANDLE: $(expr, $(...))
} else if ( !context || context.jquery ) {
return ( context || rootjQuery ).find( selector );
// HANDLE: $(expr, context)
// (which is just equivalent to: $(context).find(expr)
return this.constructor( context ).find( selector );
/*#源码分析
*else selector不是String类型的
// HANDLE: $(DOMElement)
} else if ( selector.nodeType ) {
/*#源码分析
*处理$(DOMElement)形式,这个比较简单,就是加到this[0]上
this.context = this[0] =
this.length = 1;
// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) ) {
/*#源码分析
*$(function)形式,就是调用了$(document).ready()方法
return typeof rootjQuery.ready !== "undefined" ?
rootjQuery.ready( selector ) :
// Execute immediately if ready is not present
selector( jQuery );
/*#源码分析
*如果selector.selector !== undefined,那么selector本身可能就是一个jQuery对象,做了如下处理,为什么呢?!不知道
if ( selector.selector !== undefined ) {
this.selector = selector.
this.context = selector.
/*#源码分析
*jQuery.makeArray(arr)是把类数组,转为纯数组形式,API是这么说的.
*实际上makeArray还有第二个参数,但仅限内部使用,就是现在这种情况
*jQuery.makeArray( arr, results ) -->把调用jQuery.merge把arr数组追加到results尾部
*这里会处理jQuery( elementArray )、jQuery( object )这两种情况
return jQuery.makeArray( selector, this );
经过分析之后大概对jQuery这个函数有了大致的了解,这个函数还调用了其他的jQuery的工具函数:
比如jQuery.merge、 jQuery.parseHTML、jQuery.isPlainObject、find、$(document).ready()、jQuery.makeArray方法
下一篇文章对以上的方法中选几个简单的进行分析,太复杂的,先放一放吧。[精华] Redhat9.0下安装qmail+igenus实录 - ChinaUnix.net
[精华] Redhat9.0下安装qmail+igenus实录
http://www.chinaunix.net 作者:&&发表于: 01:02:27
在REDHAT9.0下安装igenus
bluelotus&
Redhat9.0+Qmail+smtp-auth+Vpopmail+MySQL+Igenus,实例:/mail
一、安装环境及准备工作
安装Redhat9.0,安装时选取安装apache、php、mysql,可省去以后自已编译安装的麻烦,mysql要注意选取mysql-devel开发包,mysql的头文件和库文件分别在/usr/include/mysql和/usr/lib/mysql。
安装完Redhat9.0后,修改/etc/httpd/conf/httpd.conf,使web服务正常启用,为mysql添加root用户的密码。如果设置了防火墙,要打开服务器的smtp&25和pop3&110两个端口。
二、安装ucspi-tcp-0.88
1.下载相应软件及补丁,由于redhat9.0的glibc的版本问题,必须打补丁才能正常编译。
wget&http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz&
wget&/rpms/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch
wget&/rpms/glibc-2.3.1/ucspi-tcp-0.88.errno.patch
wget&/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.下载软件及补丁:
wget&http://cr.yp.to/software/qmail-1.03.tar.gz
wget&/ckd/qmail-103.patch
wget&http://www.qmail.org/qmailqueue-patch
wget&http://www.shupp.org/patches/qmail-maildir++.patch
wget&/rpms/glibc-2.3.1/qmail-1.03.errno.patch
wget&/rpms/glibc-2.3.1/qmail-1.03.qmail_local.patch
wget&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&&//安装smtp-auth补丁,支持smtp认证
#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&
5.添加别名用户:&
#&touch&/var/qmail/alias/.qmail-root&
#&touch&/var/qmail/alias/.qmail-postmaster&
#&touch&/var/qmail/alias/.qmail-mailer-daemon&
6.如果存在postfix和sendmail,停用现在的mail服务
#/etc/rc.d/init.d/sendmail&stop
#cp&/var/qmail/bin/sendmail&/usr/sbin/qmail.sendmail
#rm&-f&/etc/alternative/mta
#ln&-s&/usr/sbin/qmail.sendmail&/etc/alternative/mta
Redhat9.0已经考虑到了使用其它邮件服务器代替sendmail的情况,因为本身就提供postfix和sendmail两种选择。
四、安装vpopmail
1.下载vpopmail的稳定版
wget&/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数据库
#mysql&-u&root&-p&&&&//进入mysql命令行
mysql&;create&database&
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"&(mysql服务器名)&
#define&MYSQL_UPDATE_USER&"vpopmail"&(用户名)&
#define&MYSQL_UPDATE_PASSWD&""&(改成你设置的密码)&
#define&MYSQL_READ_SERVER&"localhost"&(mysql服务器名)&
#define&MYSQL_READ_USER&"vpopmail"&(用户名)&
#define&MYSQL_READ_PASSWD&""&(改成你设置的密码)&
/*==================================================================*/
6.创建tcp.smtp文件(或者使用/etc/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&\\是否应用Mysql数据库&
--enable-incdir=/usr/include/mysql&\\Mysql数据库include文件所在目录&
--enable-libdir=/usr/lib/mysql&\\Mysql数据库lib文件所在目录&
--enable-default-&\\定义虚拟域名&
--enable-passwd=n&\\是否使用系统密码验证方式&
--enable-defaultquota=s&\\定义缺省邮箱大小,MB,MB,s为50MB&
--enable-tcprules-prog=/usr/local/bin/tcprules&\\指定tcprules目录&
--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp&\\指定tcprules应用规则文件&
--enable-vpopuser=vpopmail&\\vpopmail的用户&
--enable-vpopgroup=vchkpw&\\vpopmail的组&
--enable-ip-alias-domains=n&\\在虚拟域中允许通过反向IP地址查找虚拟域名&
#&make&
#&make&install-strip&
8.创建虚拟域&
#&cd&/home/vpopmail/bin&
#&./vadddomain&域名&(密码)&(在mysql数据库vpopmail中自动生成vpopmail表单)&
(如果使用与机器名相同的虚拟域名,应先生成一个其它的虚拟域名,不然会有问题,无法自动生成vpopmail数据库)&
#&./vadduser&用户名&密码&(会自动往表vpopmail中添加用户数据,用户名要带域名,如)&
如果不成功的话,则必须先删除创建的域,./vdeldomain&域名
五、smtp-auth的设置
1.修改vchkpw的属性
#chmod&4755&vchkpw
#chown&root.root&vchkpw
如果使用带验证的smtp,smtp进程要调用密码验证程序,则必须要使用&setuid&和setgid。提高vchkpw的权限,才能完成setgid操作。
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
注意,因为使用vpopmail,所以checkpassword不用安装。
六、生成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&&&
/*&============================================*/
#vi&/var/qmail/smtp&&&&&&&&//编辑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&hostname&/home/vpopmail/bin/vchkpw&/bin/true&/bin/cmd5checkpw&/bin/true&2&;&1&|&/var/qmail/bin/splogger&smtpd&3&&
/*&======================================================&*/
#vi&/var/qmail/pop3&&&&&&&//编辑pop3服务的启动脚本
/*&======================&pop3&===========================&*/
#!/bin/sh
/usr/local/bin/tcpserver&-H&-R&0&pop3&/var/qmail/bin/qmail-popup&hostname&/home/vpopmail/bin/vchkpw&/var/qmail/bin/qmail-pop3d&Maildir&&
/*&=====================================================&*/
#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"&&&&&&&//查看qmail的服务进程是否已完全正常启动
如果qmail已正常启动,用outlook测试qmail的smtp和pop3是否正常,注意由于vpopmail支持虚拟域名,所以在outlook中设置邮件帐号时,用户名后要加上域名,如。smtp是带认证的,在outlook中也要作相应设置。建议先将qmail测试正常后再安装igenus,我在qmail正常工作后,安装igenus只用了10分钟,非常顺利。如果qmail出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqld和maillog日志记录,这样容易很快找出问题。
八、安装并运行igenus
1.到http://www.igenus.org下载最新的安装包,我用的是igenus_2__snap.tgz
#tar&zxvf&igenus_2__snap.tgz&-C&/var/www/html&&&&//redhat下apache的缺省document&root
2.建temp文件夹&
cd&/var/www/html/igenus&
mkdir&temp&
chmod&-R&0755&temp&
chown&-R&vpopmail:vchkpw&temp&
3.修改httpd.conf
#vi&/etc/httpd/conf/httpd.conf
Group&Apache
User&Apache&
修改为:
Group&vchkpw
User&vpopmail&
#/etc/rc.d/init.d/httpd&restart&&&//重启apache,使修改生效&
4.修改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";&
/*&==============================================&*/
5.重新编制Mysql数据库表格&
#mysql&-u&root&-p&
mysql&;use&&
mysql&;alter&table&vpopmail&drop&primary&&
mysql&;alter&table&vpopmail&add&column&pw_id&int(5)&NOT&NULL&primary&key&auto_&
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;&
mysql&;&
6.如果需要,用vadddomain和vadduser添加新域名和新用户。
最后打开浏览器,输入http://你的网站/igenus,说Good&Luck!吧。&&&
九、编辑qmail自启动脚本
因为自己编写的脚本比较简陋,怕让高手笑话,所以没有写到文章里,但既然有人一再问这个问题,也就厚着脸皮献丑了。写到这,应该算是比较完整了吧。&
#vi&/etc/rc.d/init.d/qmail&//编辑自动运行脚本&
=====================&qmail&======================&
#!&/bin/sh&
#&chkconfig:&&
#&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:"&
killproc&qmail-send&
killproc&qmail-clean&
killproc&qmail-rspawn&
killproc&qmail-lspawn&
killproc&splogger&
killproc&tcpserver&
;;&
*)&
exit&1&
;;&
esac&
exit&0&
==============================================&
#chmod&755&/etc/rc.d/init.d/qmail&
#chkconfig&--add&qmail&
OK,行了,现在只要你启动系统就会自动运行了。只是脚本比较简陋,所以不好意思拿出来,不过正常工作没问题。
& 回复于: 15:30:43
1.修改vchkpw的属性&
#chmod&4755&vchkpw&
#chown&root.root&vchkpw&
如果使用带验证的smtp,smtp进程要调用密码验证程序,则必须要使用&setuid&和setgid。提高vchkpw的权限,才能完成setgid操作。
我的做法是调整&smtpd&运行的&uid&和&gid&以适应&vpopmail&。
& 回复于: 16:23:29
引用:
#vi&qmail-smtpd.c&//将函数straynewline中的451改为553&
这是什么道理?
& 回复于: 16:42:05
将451改为553是为避免当其它服务器给你发来无效格式的邮件时,你的服务器陷入循环应答。当你的服务器收到无效格式的邮件时,一般会发送:"I&am&not&going&to&accept&that&message&at&the&moment,you&can&try&again&later",对方服务器收到后,几秒钟后又会发送同样的邮件给你,造成多次的重复。改为553后,你的服务器将直接发送:“I&am&not&going&to&accept&that&message,don't&try&sending&it&again.",告诉对方的服务器不要再发这封无效的信件。
& 回复于: 17:17:42
哦,理解了,将暂时错误改成永久错误
& 回复于: 18:46:48
不错啊,强
& 回复于: 20:19:28
想请问一下楼主,你说安装mysql时"要注意选取mysql-devel开发包",但我在自定义安装rh9.0的时候,sql中只有一个mysql-server的包啊,安装完成之后用rpm看了下,只有mysql-server,mod_auth_mysql,mysql,php-mysql四个,不知道这样是不是算安装完整啦,mysql-devel是不是需要再安装过????
& 回复于: 20:24:49
还有你所说的mysql的头文件在/usr/include/mysql下,而我安装的rh9.0的/usr/include下根本没有mysql是不是我没安装完整????
& 回复于: 20:26:35
到你的光盘上找找看吧。
最好把mysql-shared,&mysql-devel和mysql-client都装上
& 回复于: 20:29:01
不好意思,我安装redhat9.0的时候也没安装mysql-devel,可能的确是没这个选项,我记不清了。应该是在安装完redhat9.0后,单独安装mysql-devel,你可以在第二张光盘上找到mysql-devel-3.23.54a.rpm。
& 回复于: 20:30:04
呵呵,又是gadfly兄回答我的问题,辛苦啦,我明天再去试试.
& 回复于: 00:26:08
& 回复于: 10:22:59
请问&可以用&MySQL&&4.x&版本吗?&&4.x&变化太大了,嘿...
& 回复于: 10:45:00
我想应该可以吧,不过我没试过。
& 回复于: 11:49:10
好文,收藏。
& 回复于: 11:52:50
网上有篇英文的文档,就是在RH下实现楼主所说的所有内容,甚至更多,值得一看。对于FreeBSD下的安装稍有不同,很有裨益。
& 回复于: 15:29:47
qmail的以下补丁无法找到:&&&/rpms/glibc-2.3.1/qmail-1.03.qmail-local.patch&
请问是否这个补丁没有也可以?
& 回复于: 15:34:31
#&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&&
/*&============================================*/
#vi&/var/qmail/smtp&//编辑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&hostname&/home/vpopmail/bin/vchkpw&/bin/true&/bin/cmd5checkpw&/bin/true&2&;&1&|&/var/qmail/bin/splogger&smtpd&3&&
/*&======================================================&*/
#vi&/var/qmail/pop3&//编辑pop3服务的启动脚本
/*&======================&pop3&===========================&*/
#!/bin/sh
/usr/local/bin/tcpserver&-H&-R&0&pop3&\
/var/qmail/bin/qmail-popup&hostname&\
/home/vpopmail/bin/vchkpw&/var/qmail/bin/qmail-pop3d&Maildir&&
/*&=====================================================&*/&
保存不了,提示"/var/qmail/rc"不能写入,转换失败
是不是该文件权限不对啊.
& 回复于: 15:36:56
引用:原帖由&"ricky_gong"&发表:qmail的以下补丁无法找到:&&&/rpms/glibc-2.3.1/qmail-1.03.qmail-local.patch&
请问是否这个补丁没有也可以?&&&&&
是/rpms/glibc-2.3.1/qmail-1.03.qmail_local.patch,是下划线,应该是楼主的笔误.
& 回复于: 15:38:47
引用:原帖由&"garfy"]网上有篇英文的文档,就是在RH下实现楼主所说的所有内容,甚至更多,值得一看。对于FreeBSD下的安装稍有不同,很有裨益。&发表:&&&&&
贴出来看看,快快快.
& 回复于: 17:11:49
当然可以,
我的是S9,MYSQL4.12,php3.2,apache2.0.45
没问题的
& 回复于: 17:14:30
为什么我配置结束后用IE看邮件时总是显示乱码,总是要选择语言才行?楼主帮帮我吧
& 回复于: 18:53:52
关于语言的问题,我想可能是浏览器的关系,IE的菜单"编码"有一个“自动选择”,在前面打上勾试试。不知道这是不是你想要的答案。
& 回复于: 21:37:49
“安装qmail”-&;“6.创建tcp.smtp文件”中“#tcprules&tcp.smtp.cdb&tcp.smtp.tmp&&&tcp.smtp”一句执行时提示“无tcprules此命令”,该怎么解决?
& 回复于: 21:46:49
引用:原帖由&"ricky_gong"]“安装qmail”-&;“6.创建tcp.smtp文件”中“#tcprules&tcp.smtp.cdb&tcp.smtp.tmp&&&tcp.smtp”一句执行时提示“无tcprules此命令”,该怎么解决?&发表:&&&&&
如果你成功安装了ucspi-tcp的话,到/usr/local/bin下找一下有没有tcprules,如果没有,说明你ucspi-tcp安装有问题,如果有,在命令前加上完整的路径。
#/usr/local/bin/tcprules&tcp.smtp.cdb&tcp.smtp.tmp&&&tcp.smtp
& 回复于: 22:47:44
#chmod&755&/var/qmail/smtp&
#chmod&755&/var/qmail/pop3&
我的/var/qmail下怎么没有这两项落???
该如何解决???
& 回复于: 08:46:35
引用:原帖由&"ilovewalk"&发表:#chmod&755&/var/qmail/smtp&
#chmod&755&/var/qmail/pop3&
我的/var/qmail下怎么没有这两项落???
该如何解决???&&&&&
呵呵,你没注意看上面吧,不是让你自己编辑生成这两个脚本吗?找一下这两条命令:#vi&/var/qmail/smtp
#vi&/var/qmail/pop3
你仔细看一下,可能我写得比较挤,用两条线框起来的是脚本的具体内容。
& 回复于: 08:47:15
不错,
俺用freebsd4.8做了一个,感觉用igenus界面的确不错。
& 回复于: 10:28:36
谢谢大家的帮助
编译vpopmail时又出现下列错误:
collect2:&ld&returned&1&exit&status
make[2]:&***&[vchkpw]&Error&1
make[2]:&Leaving&directory&`/home/software/vpopmail-5.2.1'
make[1]:&***&[all-recursive]&Error&1
make[1]:&Leaving&directory&`/home/software/vpopmail-5.2.1'
make:&***&[all-recursive-am]&Error&2
这又是怎么回事?
& 回复于: 11:17:24
引用:原帖由&"ricky_gong"]rsive-am&发表:&Error&2
这又是怎么回事?&&&&&
应该是和mysql有关,你看一下你vpopmail的./configure的相关参数正不正确,另外你安装了mysql-devel了吗?安装了mysql-devel,会有/usr/include/mysql和/usr/lib/mysql两上目录,你看一下。
& 回复于: 12:15:10
为什么我在浏览时每个页面都要进行语言选择?
& 回复于: 12:31:49
配置你的httpd.conf设置这个
AddDefaultCharset&GB2312
& 回复于: 12:42:15
thank&you&very&much
& 回复于: 12:49:56
非常感谢,我的语言选择已经好了,可是我给我虚拟域中的用户发送怎么收不到啊
& 回复于: 15:37:52
:)&不好意思,又要请教各位前辈了
在mysql数据库vpopmail中自动生成vpopmail表单时,执行#&./vadddomain&,产生以下错误:
could&not&connect&to&mysql&update&server&Access&denied&for&user:&'vpopmail@'&(Using&password:&YES)&with&database
could&not&connect&to&mysql&update&server&Access&denied&for&user:&'vpopmail@'&(Using&password:&YES)
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error:&MySQL&server&has&gone&away
vmysql:&sql&error[3]:&MySQL&server&has&gone&away
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error:&MySQL&server&has&gone&away
vmysql:&sql&error[3]:&MySQL&server&has&gone&away
vmysql:&sql&error[2]:&MySQL&server&has&gone&away
Error:&Unable&to&chdir&to&vpopmail/users&directory
是我的密码错误了么?但是我看过密码好像没有问题的。
请各位赐教,谢谢!
& 回复于: 16:15:36
不好意思,我自己解决了&:D&
还是mysql的问题,抱歉抱歉,让大家费心了
小弟刚入门,所以经常出些小岔子,而且也经常问些菜问题:)
& 回复于: 17:07:48
我的经验对大家有所帮助,我感到非常高兴。我经常看别人的文章,现在也贡献一点自己的绵薄之力。看了一些朋友的提问,也尽力帮助解答了一些。从这些提问中,我想提供一点学习方法的经验供大家参考。
我写这篇文章主要是想提供一个最简单的可以使用的邮件系统,使对qmail了解不多的朋友有一个清晰的印象。记得我刚开始用qmail的时候,也是照着别人的方法做,但是象daemon、autorespond等等,根本不知道做什么用,反而出了问题不知道出在哪里。我现在只写出了核心的部分,一个基本的邮件系统,希望大家能够从中看出qmail各个部分的作用,所以我没有写自动回复、邮件列表以及邮件过滤、杀毒啦等等,甚至apache、mysql啦等等都没有具体讲,我只希望能够把qmail这个系统的脉络讲清楚。
学过程序设计的人应该都有体会,好的程序设计往往都是模块划分的很好的程序,做过程序员,也就学会了模块化的思维方式,在解决问题是,总是尽量把问题划分成一个一个小的问题来分别解决。如果眉毛胡子一把抓,面对问题真的会茫无头绪。有一些朋友可能看着别人的经验照着一气做下来,最后出了问题,总找不到问题的症结,当然就不能自己找到答案。&
我想在这个基本的邮件系统成功安装后,如果你以后在此基础上增加自动回复、邮件列表、杀毒等功能,如果有问题,你就能很快找到问题的症结所在,也就能尽快自己找到答案。
& 回复于: 17:35:47
又有新问题了:
运行qmail并测试时,执行/var/qmail/pop3时长时间无返回,并且每过一段时间就显示如下警告:
erver:&warning:&dropping&connection,&unable&to&run&&:&file&does&not&exist
我试过smtp,可正常工作,请再帮帮忙,就快要成功了,谢谢!
& 回复于: 19:10:39
真不好意思有来麻烦各位,我的SMTP&和POP3为什么总不能启动呢
& 回复于: 20:54:28
引用:原帖由&"ddhx"]非常感谢,我的语言选择已经好了,可是我给我虚拟域中的用户发送怎么收不到啊&发表:
看看日志就知道投递情况了
& 回复于: 20:57:10
引用:原帖由&"ddhx"]真不好意思有来麻烦各位,我的SMTP&和POP3为什么总不能启动呢&发表:&&&&&
具体的现象?环境?日志?
& 回复于: 20:58:26
引用:原帖由&"bluelotus"&发表:我的经验对大家有所帮助,我感到非常高兴。我经常看别人的文章,现在也贡献一点自己的绵薄之力。看了一些朋友的提问,也尽力帮助解答了一些。从这些提问中,我想提供一点学习方法的经验供大家参考。
我写这篇文章主..........&&&&&
赞同bluelotus的看法。这样才是学习和进步的好方法。
& 回复于: 20:59:42
引用:原帖由&"ricky_gong"&发表:又有新问题了:
运行qmail并测试时,执行/var/qmail/pop3时长时间无返回,并且每过一段时间就显示如下警告:
erver:&warning:&dropping&connection,&unable&to&run&&:&file&does&not&exist
我试过smtp,可正常?.........&&&&&
??怎么执行的?怎么测试的?什么情况下会出现?
& 回复于: 08:26:16
我在OUTLOOK中用时有如下提示:无法使用安全密码身份验证登录到服务器。&帐户:&'mail',&服务器:&'210.52.61.147',&协议:&POP3,&服务器响应:&'.',&端口:&110,&安全(SSL):&否,&错误号:&0x800CCC18&&是什么原因啊,
& 回复于: 09:43:07
我在运行POP3&时出现如下提示:tcpserver:&fatal:&unable&to&figure&out&port&number&for&pop3/usr/qmail/bin/qmail-popup&&是什么原因啊,请楼主帮帮忙,我实在是不懂啊
& 回复于: 09:54:15
引用:原帖由&"gadfly"&发表:&&&&
??怎么执行的?怎么测试的?什么情况下会出现?&&&&&
这又是新手自己犯的一些小错误引起的,已经搞定了,谢谢你的回复。现在我已经能够用smtp和pop3收发邮件了&:D&
另外我想问一个问题:当某个用户发了一个大于邮箱大小的邮件给某个用户,那这个邮件该如何处理?是仅仅丢弃,还是怎样?
& 回复于: 14:30:53
8.创建虚拟域&
#&cd&/home/vpopmail/bin&
#&./vadddomain&域名&(密码)&(在mysql数据库vpopmail中自动生成vpopmail表单)&
(如果使用与机器名相同的虚拟域名,应先生成一个其它的虚拟域名,不然会有问题,无法自动生成vpopmail数据库)&
#&./vadduser&用户名&密码&(会自动往表vpopmail中添加用户数据,用户名要带域名,如)&
如果不成功的话,则必须先删除创建的域,./vdeldomain&域名&
这我怎么不成功?错误!
[root@loveronger&bin]#&./vadddomain&mail.net&mysql
could&not&connect&to&mysql&update&server&Access&denied&for&user:&'vpopmail@localhost'&(Using&password:&YES)&with&database
could&not&connect&to&mysql&update&server&Access&denied&for&user:&'vpopmail@localhost'&(Using&password:&YES)
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error:&MySQL&server&has&gone&away
vmysql:&sql&error[3]:&MySQL&server&has&gone&away
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error:&MySQL&server&has&gone&away
vmysql:&sql&error[3]:&MySQL&server&has&gone&away
vmysql:&sql&error[2]:&MySQL&server&has&gone&away
Error:&Unable&to&chdir&to&vpopmail/users&directory
[root@loveronger&bin]#
& 回复于: 15:25:06
引用:原帖由&"ricky_gong"&发表:不好意思,我自己解决了&:D&
还是mysql的问题,抱歉抱歉,让大家费心了
小弟刚入门,所以经常出些小岔子,而且也经常问些菜问题:)&&&&&
大侠,怎么解决的,我的问题给你一样!帮帮忙
& 回复于: 15:28:10
引用:原帖由&"ricky_gong"&发表:L&server&has&gone&away
Error:&Unable&to&chdir&to&vpopmail/users&directory
是我的密码错误了么?但是我看过密码好像没有问题的。
请各位赐教,谢谢!&&&&&
你怎么解决的大侠,麻烦告诉小弟一下,谢谢!
& 回复于: 22:24:24
引用:原帖由&"loveronger"&发表:&&&&
你怎么解决的大侠,麻烦告诉小弟一下,谢谢!
第一行是不是你的mysql没有正常启动,第二行是不是你的vpopmail的目录权限设置有问题?
对不起了各位,最近单位组织篮球赛,要去打球了,不能及时给各位回复,请见谅,就有劳各位版主了。
& 回复于: 02:32:20
warning:&dropping&connection,&unable&to&run&:&file&does&not&exist&
我的也是这样。。。。
谁能来帮助解决一下
& 回复于: 10:07:04
你们的mysql启动了没有?先测试一下mysql是否可以进入,看一下vpopmail的数据库是否正常。
& 回复于: 10:31:13
引用:原帖由&"bluelotus"]你们的mysql启动了没有?先测试一下mysql是否可以进入,看一下vpopmail的数据库是否正常。&发表:
我的mysql启动正常了:
[root@loveronger&bin]#&mysql&-u&root&-p
Enter&password:
Welcome&to&the&MySQL&monitor.&&Commands&end&with&;&or&\g.
Your&MySQL&connection&id&is&85&to&server&version:&3.23.54
Type&''&or&'\h'&for&help.&Type&'\c'&to&clear&the&buffer.
mysql&;&use&vpopmail
ERROR&1049:&Unknown&database&'vpopmail'
mysql&;
那位大侠空闲,帮我远程调试下,谢谢!
& 回复于: 10:39:43
Bluelotus,按您的操作步骤,当走到
"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&
注意,因为使用vpopmail,所以checkpassword不用安装。"&#make&install时出现如下错误提示"[root@rh00&cmd5checkpw-0.22]#&make&install
cp&cmd5checkpw&/bin/&;&cp&cmd5checkpw.8&/usr/man/man8/
cp:&cannot&create&regular&file&`/usr/man/man8/cmd5checkpw.8':&No&such&file&or&dy
make:&***&[install]&Error&1"
请问是那里出现了问题?
& 回复于: 10:56:39
引用:原帖由&"loveronger"]eronger&bin&发表:#&mysql&-u&root&-p
Enter&password:
Welcome&to&the&MySQL&monitor.&&Commands&end&with&;&or&\g.
Your&MySQL&connection&id&is&85&to&server&version:&3.23.54
Type&''&or&'\h'&for&help.&..........&&&&&
你的mysql中没有vpopmail这个数据库,也就是说在创建vpopmail数据库时出了错误,请检查vmysql.h是否修改正确,进入mysql,建立vpopmail。
mysql&;create&database&
然后进入到vpopmail的源代码目录,#make&install-strip,重新安装vpopmail
& 回复于: 11:02:40
引用:原帖由&"aaron_yu"&发表:&Error&1"
请问是那里出现了问题?
谢谢您.&&&&&
这个问题是由redhat9.0的帮助文件目录路径改了引起的,cmd5checkpw在将帮助文件复制到对应目录时找不到这个目录所以报错,但是程序已经复制到对应的目录,所以这个问题不会影响程序的正常运行,只是少了帮助文件,当然你可以仔细找一下redhat9.0的帮助文件存放路径,手工复制过去。
& 回复于: 11:04:14
引用:原帖由&"aaron_yu"&发表:&Error&1"
请问是那里出现了问题?
谢谢您.&&&&&
自己创建这个目录/usr/man/man8/&
然后cp&cmd5checkpw.8&/usr/man/man8/&
就可以啦。
& 回复于: 13:57:03
bluelotus/ilovewalk,谢谢你们.
当我启动SMTP和POP3时出现如下错误,请问可能是哪里出了问题?
"谢谢.
[root@rh00&qmail]#&/var/qmail/smtp
tcpserver:&option&requires&an&argument&--&x
tcpserver:&usage:&tcpserver&[&-1UXpPhHrRoOdDqQv&]&[&-c&limit&]&[&-x&rules.cdb&]m
/var/qmail/smtp:&line&7:&/home/vpopmail/etc/tcp.smtp.cdb:&Permission&denied
220&&ESMTP
[root@rh00&qmail]#&/var/qmail/pop3
tcpserver:&fatal:&unable&to&bind:&address&already&used
+OK&&7896@hostname&;
"
& 回复于: 14:24:26
引用:原帖由&"aaron_yu"]0&qmail&发表:#&/var/qmail/pop3
tcpserver:&fatal:&unable&to&bind:&address&already&used
+OK&&7896@hostname&;
"&&&&&
smtp运行的错误显示对tcp.smtp.cdb没有操作权限,你看一下是否有这个文件,你运行tcprules产生这个文件了吗?如果已经有了这个文件,看一下权限设置。
pop3运行的错误显示为这个地址已经被使用了,你看看是不是原来的sendmail没有停掉,应该是原有的邮件系统占用着pop3(110)这个端口。
& 回复于: 14:44:41
Bluelotus.没想到您能这么快回复,我很感动,谢谢!
SMTP权限我已给到770,"
[root@rh00&/]#&cd&/home/vpopmail/etc
[root@rh00&etc]#&ls&-l
total&20
-rw-r--r--&&&&1&vpopmail&vchkpw&&&&&&&&&25&Jun&23&10:24&inc_deps
-rw-r--r--&&&&1&vpopmail&vchkpw&&&&&&&&&32&Jun&23&10:24&lib_deps
-rw-r--r--&&&&1&vpopmail&vchkpw&&&&&&&&&39&Jun&23&10:08&tcp.smtp
-rwxrwx---&&&&1&vpopmail&vchkpw&&&&&&&2119&Jun&23&12:38&tcp.smtp.cdb
"
但仍然有错误信息"
[root@rh00&etc]#&/var/qmail/rc
[root@rh00&etc]#&/var/qmail/smtp
tcpserver:&option&requires&an&argument&--&x
tcpserver:&usage:&tcpserver&[&-1UXpPhHrRoOdDqQv&]&[&-c&limit&]&[&-x&rules.cdb&]m
/var/qmail/smtp:&line&7:&/home/vpopmail/etc/tcp.smtp.cdb:&cannot&execute&binarye
220&&ESMTP
"
用NTSYSV查看,确实有一个POP3在开着,我已手动将它关掉,再次远行POP#是没错误信息了,但执行完"#/var/qmail/pop3"后,并不出现"#"提示符,而是停在那不动,光标一闪一闪的.
"[root@rh00&etc]#&/var/qmail/pop3
&|
"
给您添麻烦了!
& 回复于: 15:02:22
引用:原帖由&"aaron_yu"]0&etc&发表:#&/var/qmail/pop3
&|
"
给您添麻烦了!&&&&&
不能执行二进制?看来是你的smtp脚本有问题,pop3也是一样,不能返回命令提示符,是因为没有将其作为后台进程,两个问题都和你的脚本有关,你得仔细检查一下,看有没有什么地方打错。
& 回复于: 08:44:22
谢谢各位,还有问题:
[root@mail&/]#&mysql&-h&mail.loveronger.net&-u&vpopmail
Welcome&to&the&MySQL&monitor.&&Commands&end&with&;&or&\g.
Your&MySQL&connection&id&is&19&to&server&version:&3.23.54
Type&''&or&'\h'&for&help.&Type&'\c'&to&clear&the&buffer.
mysql&;&use&vpopmail
Database&changed
mysql&;&\q
Bye
[root@mail&/]#&cd&/home/vpopmail/bin
[root@mail&bin]#&./vadddomain&mydomain&mysql
could&not&connect&to&mysql&update&server&Access&denied&for&user:&'vpopmail@mail.loveronger.net'&(Using&password:&YES)&with&database
could&not&connect&to&mysql&update&server&Access&denied&for&user:&'vpopmail@mail.loveronger.net'&(Using&password:&YES)
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error:&MySQL&server&has&gone&away
vmysql:&sql&error[3]:&MySQL&server&has&gone&away
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error:&MySQL&server&has&gone&away
vmysql:&sql&error[3]:&MySQL&server&has&gone&away
vmysql:&sql&error[2]:&MySQL&server&has&gone&away
Error:&Unable&to&chdir&to&vpopmail/users&directory
[root@mail&bin]#
怎么还是出错,?
& 回复于: 09:06:10
引用:原帖由&"loveronger"]l&bin&发表:#
怎么还是出错,?&&&&&
登录mysql你怎么没用密码?最好不要用远程登录的形式,最好还是用vpopmail@localhost登录,你的防火墙要是没有打开3306端口,用vpopmail@mail.loveronger.net就无法连接
& 回复于: 10:05:58
引用:原帖由&"ddhx"]我在OUTLOOK中用时有如下提示:无法使用安全密码身份验证登录到服务器。&帐户:&'mail',&服务器:&'210.52.61.147',&协议:&POP3,&服务器响应:&'.',&端口:&110,&安全(SSL):&否,&错误号:&0x800CCC18&&是什么原因啊,&发表:&&&&&
我的问题给你一样,你解决没有?
The&host&'mail.loveronger.net'&could&not&be&found.&Please&verify&that&you&have&entered&the&server&name&correctly.&Account:&'mail.loveronger.net',&Server:&'mail.loveronger.net',&Protocol:&POP3,&Port:&110,&Secure(SSL):&No,&Socket&Error:&11001,&Error&Number:&0x800CCC0D
& 回复于: 10:09:04
引用:原帖由&"ddhx"]我在运行POP3&时出现如下提示:tcpserver:&fatal:&unable&to&figure&out&port&number&for&pop3/usr/qmail/bin/qmail-popup&&是什么原因啊,请楼主帮帮忙,我实在是不懂啊&发表:&&&&&
问题一样:[root@mail&bin]#&tcpserver:&warning:&dropping&connection,&unable&to&run&/var/qmail/bin/qamil-popup:&file&does&not&exist
tcpserver:&warning:&dropping&connection,&unable&to&run&/var/qmail/bin/qamil-popup:&file&does&not&exist
你解决没有?
& 回复于: 11:09:54
引用:原帖由&"loveronger"]l&bin&发表:#&tcpserver:&warning:&dropping&connection,&unable&to&run&/var/qmail/bin/qamil-popup:&file&does&not&exist
tcpserver:&warning:&dropping&connection,&unable&to&run&/var/qmail/bin/qamil-popup:&file&..........&&&&&
呵呵,仔细一点啊,是“var/qmail/bin/qmail-popup”&,不是qamil-popup,拼写错误,我晕#¥·%·!#
& 回复于: 14:02:07
我也有问题,vpopmail库建立了,vqail_cntrol表都有,没有其他表(vpopmail)
& 回复于: 16:24:03
引用:原帖由&"ique"]我也有问题,vpopmail库建立了,vqail_cntrol表都有,没有其他表(vpopmail)&发表:&&&&&
#/home/vpopmail/bin/vadddomain&
试试添加一个虚拟域,看数据库有没有变化。
& 回复于: 17:04:31
redhat9.0下无法安装ucspi-tcp-0.88.tar.gz
& 回复于: 21:27:18
引用:原帖由&"liyueming"]redhat9.0下无法安装ucspi-tcp-0.88.tar.gz&发表:&&&&&
是吗?打补丁啊,照我说的做。
& 回复于: 08:21:26
我就是按照您说法做的打补丁,但就是无法在redhat9.0下无法安装ucspi-tcp-0.88.tar.gz
& 回复于: 08:46:08
引用:原帖由&"liyueming"]我就是按照您说法做的打补丁,但就是无法在redhat9.0下无法安装ucspi-tcp-0.88.tar.gz&发表:&&&&&
你的补丁安装正确了吗?把错误信息说详细一点。
& 回复于: 14:29:01
[root@mail&bin]#&./vadddomain&loveronger.net&mysql(我的vpopmail&在mysql里的密码)
qmail-newu:&fatal:&bad&format&in&users/assign
Error:&Domain&does&not&exist
[root@mail&bin]#
又要麻烦各位了~~~~
& 回复于: 15:11:40
引用:原帖由&"loveronger"]l&bin&发表:#
又要麻烦各位了~~~~&&&&&
你倒底是要添加域名还是添加用户,错误信息是说添加用户格式错误,应该不是vadddomain的错误住处。另外vadddomain的密码不是vpopmail的密码,而是系统自动创建的用户postmaster的密码,所以你可以随便打入几个字符。
& 回复于: 15:12:58
安装vpopmail-5.2.1时出错
#make&
make[2]:&***[vauth.o]&error&1
make[1]:***[all-recursive]&error&1
make:***[all-recursive-am]&error&2
& 回复于: 15:22:04
引用:原帖由&"liyueming"]rsive-am]&error&2&发表:&&&&&
呵呵,你要安装redhat9.0的开发工具包啊,请参看redhat的安装文档。
& 回复于: 15:22:43
请问&bluelotus&&先生
按照您的安装方法,当安装到vpopmail-5.2.1时出错
错误情况如下:
#make&
make[2]:&***[vauth.o]&error&1&
make[1]:***[all-recursive]&error&1&
make:***[all-recursive-am]&error&2&&&&&
我已经把所有开发包(Development)上的文件全部装上还出现错误,能告诉我是哪些包吗?
& 回复于: 15:33:15
引用:原帖由&"bluelotus"&发表:&&&&
你倒底是要添加域名还是添加用户,错误信息是说添加用户格式错误,应该不是vadddomain的错误住处。另外vadddomain的密码不是vpopmail的密码,而是系统自动创建的用户postmaster的密码,所以你可以随便打入几个..........&&&&&
谢谢,我是添加虚拟域名,我主机名:mail.loveronger.net& 我想添加个虚拟域名:loveronger.net&&&,添加过程就出现错误!
& 回复于: 15:44:59
请问&bluelotus&先生&
按照您的安装方法,当安装到vpopmail-5.2.1时出错&
错误情况如下:&
#make&
make[2]:&***[vauth.o]&error&1&
make[1]:***[all-recursive]&error&1&
make:***[all-recursive-am]&error&2&
我已经把所有开发包(Development)上的文件全部装上还出现错误,能告诉我是哪些包吗?
& 回复于: 10:52:22
各位大侠,我的/var/qmail/pop3&&/var/qmail/smtp&/var/qmail/rc&&怎么不能自动启动?
&&&还有,我现在已经使用igenus进入邮箱,怎么发不出去邮件!谢谢!!!
& 回复于: 14:10:12
引用:原帖由&"loveronger"&发表:各位大侠,我的/var/qmail/pop3&&/var/qmail/smtp&/var/qmail/rc&&怎么不能自动启动?
&&&还有,我现在已经使用igenus进入邮箱,怎么发不出去邮件!谢谢!!!&&&&&
你想要在启动时自动运行qmail,请参考有关文章自己编写脚本,发不出去邮件,你看一下邮件日志是怎么回事,错误信息是什么?邮件日志为/var/log/maillog
& 回复于: 19:35:56
&bluelotus&:
我在执行这个脚本的时候,得到如下错误:&&&&&
[color=red]#&/var/qmail/rc&
env:&&:&没有那个文件或目录[/color]
[color=red]/var/qmail/rc&脚本内容如下:[/color]#!/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&&
/*========================*/
请帮我看看这个脚本可否有不对的地方。
谢谢!
& 回复于: 21:33:04
放到一行吧。
另外你可以手工执行看看。
& 回复于: 08:36:09
引用:原帖由&"bluelotus"&发表:&&&&
你想要在启动时自动运行qmail,请参考有关文章自己编写脚本,发不出去邮件,你看一下邮件日志是怎么回事,错误信息是什么?邮件日志为/var/log/maillog&&&&&
&脚本在那位置?谢谢!
& 回复于: 14:38:34
引用:原帖由&"bluelotus"&发表:&&&&
不能执行二进制?看来是你的smtp脚本有问题,pop3也是一样,不能返回命令提示符,是因为没有将其作为后台进程,两个问题都和你的脚本有关,你得仔细检查一下,看有没有什么地方打错。&
BlueLotus&,您好,在您的鼓励下,我终于完成了前面的步骤,用OutLook&Express测试成功.(其问题还是出在/var/qmail/smtp&和pop3文件.我是用PICO&编辑的,结果有问题,换了一种就可以了.)不过还是要多谢您.
您在文章中写到"八、安装并运行igenus&
...
4.修改config_inc.php文件&
#&cd&/usr/local/apache/htdocs/igenus/config&
#&vi&config_inc.php&"
但我发现不到/usr/local下面的apache,
请问它是如何生成的,我要手工建立吗?
& 回复于: 16:04:11
引用:原帖由&"aaron_yu"&发表:
BlueLotus&,您好,在您的鼓励下,我终于完成了前面的步骤,用OutLook&Express测试成功.(其问题还是出在/var/qmail/smtp&和pop3文件.我是用PICO&编辑的,结果有问题,换了一种就可以了.)不过还是要多谢您.
您在文章..........&&&&&
1)是不是/var/www/html/config/config_inc?
2)为什么在我的MYSQL中没有vpopmail这个DATABASE?
3)可不可以如此理解,只要OutLook&Express&可以收发前面的步骤就一定没问题?
& 回复于: 18:12:20
我前面部分的配置都成功了,但按此文档配置的iGENUS却出现如下错误:
Warning:&is_file():&Stat&failed&for&/home/vpopmail//cks/.config&(errno=13&-&Permission&denied)&in&/home/web/email/html/config/config_inc.php&on&line&73
错误提示上说:Permission&denied,我没弄懂,我完全按照文档配置的,怎么会有权限问题呢?
那位老大帮我看看问题出在那里?
谢谢了!
& 回复于: 20:49:29
引用:原帖由&"aaron_yu"&发表:&&&&
1)是不是/var/www/html/config/config_inc?
2)为什么在我的MYSQL中没有vpopmail这个DATABASE?
3)可不可以如此理解,只要OutLook&Express&可以收发前面的步骤就一定没问题?
谢谢.&&&&&
你要是能在outlook中收发前面的步骤就没问题,如果你的mysql中没有vpopmail,你就不可能添加用户,所以如果一切正常,你在mysql中再好好找找。
& 回复于: 20:56:36
引用:原帖由&"cqvrboy"&发表:我前面部分的配置都成功了,但按此文档配置的iGENUS却出现如下错误:
Warning:&is_file():&Stat&failed&for&/home/vpopmail//cks/.config&(errno=13&-&Permission&denied)&in&/home/web/email/ht..........&&&&&
我以前的文章有误,请参看最新的修正,config_inc.php应该是在/var/www/html/igenus/config下,另配置文件中$CFG_BASEPATH&=&"/var/www/html/igenus";
& 回复于: 15:59:26
to:&&bluelotus&
我按照您的方法配置好后,用Outlook接受邮件时总是出现如下错误:
登录邮件服务器时出错。“密码”被拒绝。&帐户:&'.cn',&服务器:&'.cn',&协议:&POP3,&服务器响应:&'-ERR&Bad&login',&端口:&110,&安全(SSL):&否,&服务器错误:&0x800CCC90,&错误号:&0x800CCC92
邮件日志:
Jul&&4&08:03:11&jqinfo&qmail:&.508569&status:&local&0/10&remote&0/20
Jul&&4&08:03:11&jqinfo&qmail:&.519687&starting&delivery&1:&msg&454388&to&local&-
Jul&&4&08:03:11&jqinfo&qmail:&.519709&status:&local&1/10&remote&0/20
Jul&&4&08:03:11&jqinfo&qmail:&.561329&delivery&1:&deferral:&Unable_to_switch_to_/home/vpopmail/:_access_denied._(#4.3.0)/
Jul&&4&08:03:11&jqinfo&qmail:&.561425&status:&local&0/10&remote&0/20
Jul&&4&08:04:29&jqinfo&ipop3d[1343]:&pop3&service&init&from&61.186.250.1
Jul&&4&08:04:37&jqinfo&ipop3d[1343]:&Command&stream&end&of&file&while&reading&line&user=.cn&host=[61.186.250.1]
Jul&&4&08:04:55&jqinfo&ipop3d[1344]:&pop3&service&init&from&61.186.250.1
Jul&&4&08:05:03&jqinfo&ipop3d[1344]:&Command&stream&end&of&file&while&reading&line&user=.cn&host=[61.186.250.1]
Jul&&4&08:15:12&jqinfo&ipop3d[1460]:&pop3&service&init&from&61.186.250.1
Jul&&4&08:15:22&jqinfo&ipop3d[1460]:&Command&stream&end&of&file&while&reading&line&user=test&host=[61.186.250.1]
请各位老大帮我看看问题出在哪儿?
谢谢!
& 回复于: 10:20:33
引用:原帖由&"cqvrboy"]50.1&发表:
请各位老大帮我看看问题出在哪儿?
谢谢!&&&&&
没看明白,你的服务器是啊,怎么在outlook中又会是.cn,你在outlook中帐号的用户名是什么?
& 回复于: 11:01:47
引用:原帖由&"bluelotus"&发表:&&&&
没看明白,你的服务器是啊,怎么在outlook中又会是.cn,你在outlook中帐号的用户名是什么?&&&&&
我的服务器机器名叫jqinfo,我配置好qmail后,分别添加了,.cn两个域名,我收信是使用的两个账号:.cn&和。
& 回复于: 12:11:32
引用:原帖由&"cqvrboy"&发表:&&&&
我的服务器机器名叫jqinfo,我配置好qmail后,分别添加了,.cn两个域名,我收信是使用的两个账号:.cn&和。&&&&&
我只能建议你看一下你的pop3脚本正不正确?我认为问题应该还是在这。另外你在开始的时候暂时不要用2个虚拟域,先用一个域测试看是否正常。
& 回复于: 13:45:17
引用:原帖由&"bluelotus"&发表:&&&&
我只能建议你看一下你的pop3脚本正不正确?我认为问题应该还是在这。另外你在开始的时候暂时不要用2个虚拟域,先用一个域测试看是否正常。&&
我的pop3脚本是照您的文档上的内容:
#!/bin/sh&
/usr/local/bin/tcpserver&-H&-R&0&pop3&\&
/var/qmail/bin/qmail-popup&hostname&\&
/home/vpopmail/bin/vchkpw&/var/qmail/bin/qmail-pop3d&Maildir&&&&&
看看这个脚本有问题吗?
& 回复于: 14:01:57
引用:原帖由&"cqvrboy"&发表:&
我的pop3脚本是照您的文档上的内容:
#!/bin/sh&
/usr/local/bin/tcpserver&-H&-R&0&pop3&\&
/var/qmail/bin/qmail-popup&hostname&\&
/home/vpopmail/bin/vchkpw&/var/qmail/bin/qmail-pop3d&Maildir&&&..........&&&&
hostname换成你自己的主机名了吗?比如或.cn???
& 回复于: 14:07:40
遇到点邪门的问题。&
我配置的qmail用Outlook和Foxmail收邮件还是那个密码错误问题,但我用igenus的webmail却收发邮件都正常,真是怪事?!何解?
& 回复于: 14:18:21
引用:原帖由&"cqvrboy"&发表:遇到点邪门的问题。&
我配置的qmail用Outlook和Foxmail收邮件还是那个密码错误问题,但我用igenus的webmail却收发邮件都正常,真是怪事?!何解?&&&
肯定是你的pop3和smtp有问题,igenus我也没详细研究,只是作者说igenus是直接对Maildir进行操作,可能避开了smtp和pop3,你的hostname换成了你自己的主机名了吗?
& 回复于: 14:47:01
引用:原帖由&"bluelotus"&发表:&&
肯定是你的pop3和smtp有问题,igenus我也没详细研究,只是作者说igenus是直接对Maildir进行操作,可能避开了smtp和pop3,你的hostname换成了你自己的主机名了吗?&&&&
使用igenus进入,怎么发不出去邮件!谢谢!!!
在outlook&中可以收发邮件!
& 回复于: 14:58:47
引用:原帖由&"loveronger"&发表:&&&
使用igenus进入,怎么发不出去邮件!谢谢!!!
在outlook&中可以收发邮件!&&
说得详细一点吧,我配置的时候很顺利,没遇到这种情况,系统返回错误通知邮件了吗?
& 回复于: 15:50:03
引用:原帖由&"bluelotus"&发表:&&&&
你想要在启动时自动运行qmail,请参考有关文章自己编写脚本,发不出去邮件,你看一下邮件日志是怎么回事,错误信息是什么?邮件日志为/var/log/maillog&&&&&
怎么让/var/qmail/rc&&/var/qmail/smtp&&/var/qmail/pop3&&自动启动!谢谢!
& 回复于: 15:51:06
引用:原帖由&"bluelotus"&发表:&&
肯定是你的pop3和smtp有问题,igenus我也没详细研究,只是作者说igenus是直接对Maildir进行操作,可能避开了smtp和pop3,你的hostname换成了你自己的主机名了吗?&&&&&
ft……,我没注意到这点。sorry!
我把pop3,smtp中的hostname&改成,现在收发邮件没有问题了。
我发现您那两个脚本都有点问题,我把脚本中的[color=red]\&[/color]去掉,把脚本连唯一行就可以了。
/usr/local/bin/tcpserver&-H&-R&0&pop3&[color=red]\&[/color]
/var/qmail/bin/qmail-popup&hostname&[color=red]\&[/color]
/home/vpopmail/bin/vchkpw&/var/qmail/bin/qmail-pop3d&Maildir&&&&&
谢谢您的解答!
& 回复于: 15:59:58
引用:原帖由&"cqvrboy"&发表:
/home/vpopmail/bin/vchkpw&/var/qmail/bin/qmail-pop3d&Maildir&&&&&
谢谢您的解答!&&&&&
呵呵,成功了就好。斜杠本来就是连接符,一行写不下用它来分成几行。其实这条命令本来就一行。
& 回复于: 16:10:11
引用:原帖由&"loveronger"&发表:&&&&
怎么让/var/qmail/rc&&/var/qmail/smtp&&/var/qmail/pop3&&自动启动!谢谢!&&&&&
这样的脚本很多,我自己写了一个,算了,就一起奉送给大家了。
#vi&/etc/rc.d/init.d/qmail&&&//编辑自动运行脚本
=====================&qmail&======================
#!&/bin/sh
#&chkconfig:&
#&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:"
killproc&qmail-send
killproc&qmail-clean
killproc&qmail-rspawn
killproc&qmail-lspawn
killproc&splogger
killproc&tcpserver
;;
*)
exit&1
;;
esac
exit&0
==============================================
#chmod&755&/etc/rc.d/init.d/qmail
#chkconfig&--add&qmail
OK,行了,现在只要你启动系统就会自动运行了。只是脚本比较简陋,所以不好意思拿出来,不过正常工作没问题。
& 回复于: 16:19:02
看看这个iceblood写的脚本,我做了些小改动,可以用来启动、停止、重启qmail。
=====================
#!/bin/sh
PID=`ps&-ax&|grep&qmail-send|grep&-v&grep`
PIDQ=`ps&-ax&|grep&qmail-remote|grep&-v&grep`
case&$1&in
if&[&"$PID"&=&""&];&then
echo&"Starting&Qmail&services......"
sh&/etc/qmail/start
else
echo&"Qmail&already&running."
fi
;;
if&[&"$PID"&=&""&];&then
echo&"Qmail&not&running"
else
echo&"Stoping&Qmail&services......"
killall&qmail-send
killall&tcpserver
killall&authdaemond.ldap
if&[&"$PIDQ"&=&""&];&then
echo&""
else
killall&qmail-remote
fi
fi
;;
if&[&"$PID"&=&""&];&then
echo&"Qmail&not&running"
else
echo&"Restart&Qmail&services......"
killall&qmail-send
killall&tcpserver
killall&authdaemond.ldap
if&[&"$PIDQ"&=&""&];&then
echo&""
else
killall&qmail-remote
fi
sh&/etc/qmail/start
fi
;;
echo&"Qmail&manage&scripts&and&Qmail_setup-v1.5&compile&by&iceblood"
echo&"My&E-Mail:"
echo&"qmail&{start|stop|help}"
echo&"&&&&&&&start&&&&&&Starting&Qmail&services"
echo&"&&&&&&&stop&&&&&&&Stoping&Qmail&services"
echo&"&&&&&&&restart&&&&Restart&Qmail&services"
echo&"&&&&&&&help&&&&&&&Qmail&manage&help"
echo&""
echo&"&&&&&&&&&&&&&&&&&&&&&&&Copyright&(C)&2002&by&iceblood"
echo&"Help&end."
;;
echo&"Qmail&manage&scripts&and&Qmail_setup-v1.5&compile&by&iceblood"
echo&"My&E-Mail:"
echo&"qmail&{start|stop|restart|help}"
echo&"&&&&&&&start&&&&&&Start&Qmail&services"
echo&"&&&&&&&stop&&&&&&&Stop&Qmail&services"
echo&"&&&&&&&restart&&&&Restart&Qmail&services"
echo&"&&&&&&&help&&&&&&&Qmail&manage&help"
echo&""
echo&"&&&&&&&&&&&&&&&&&&&&&&&Copyright&(C)&2002&by&iceblood"
echo&"Help&end."
;;
esac
exit&0
============================
/etc/qmail/start脚本
=============================
csh&-cf&'/var/qmail/rc&&'
/var/qmail/smtp
/var/qmail/pop3
/var/qmail/webmail/libexec/authlib/authdaemond&start
& 回复于: 16:19:10
引用:原帖由&"bluelotus"&发表:&
说得详细一点吧,我配置的时候很顺利,没遇到这种情况,系统返回错误通知邮件了吗?&&&&
没有,具体情况如下:
我使用outlook配置,收发邮件正常,使用&http://mydomain/iegnus&
可以进入邮箱,在里面可以发邮件(可以使用outlook收),但收件箱没有新邮件。
& 回复于: 16:40:32
引用:原帖由&"loveronger"&发表:&&&
没有,具体情况如下:
我使用outlook配置,收发邮件正常,使用&http://mydomain/iegnus&
可以进入邮箱,在里面可以发邮件(可以使用outlook收),但收件箱没有新邮件。&&&
用outlook收了以后,除非你做特别设置,否则会把服务器上的邮件删了,所以用outlook收取邮件后,你进到igenus后,收件箱肯定是空的。
& 回复于: 17:25:36
为何我装完mysql,只找到var/lib/mysql,include找不到
& 回复于: 21:17:01
引用:原帖由&"wingger"]为何我装完mysql,只找到var/lib/mysql,include找不到&发表:&&&&&
还要单独安装mysql-devel,安装包在第二张光盘上,自己找一下
& 回复于: 17:53:21
我用telnet&127.0.0.1&25,显示
trying&127.0.0.1
connected&to&127.0.0.1
escape&character&is&''}'
220&server-mail&ESMTP&Postfix
用telnet&215.26.457.5(本机IP)
显示trying&215.26.457.5
telnet&:connect&to&address&215.26.457.5:&connection&refused
& 回复于: 09:46:26
引用:原帖由&"wingger"&发表:我用telnet&127.0.0.1&25,显示
trying&127.0.0.1
connected&to&127.0.0.1
escape&character&is&''}'
220&server-mail&ESMTP&Postfix
用telnet&215.26.457.5(本机IP)
显示trying&215.26.457.5
telnet&:connec..........&&&&&
你的IP是谁给你的呀,地球上都没有这样的IP,215.26.457.5,&:wink:&肯定是外星人给你的?!
& 回复于: 10:11:24
我现在telnet&127.0.0.1&25及110端口,显示都正常,
telnet&202.101.98.52&110端口,也很正常
但一边25端口,就显连接被拒绝
还有,我进入mysql,用show&查看,报告,Empty&set&(0.00)sec)
但我用foxmail,可以登录收邮件(就是没有邮件)。
我的tcp.smtp是按照上文所写的配置的
127.0.0.1:allow,RELAYCLIENT=""
:allow
我原来机上装了iptables,但后来禁用了(而且也重启过了)
& 回复于: 11:04:34
我现在自己查看了一下,当我重启计算机时,直接telnet&127.0.0.1&25,也能连上,但110端口须使用/var/qmail/pop3,才能启动,
而且再用一次时,系统会报告说端口已经被占用,但用/var/qmqil/smtp就不会。
是不是在其它地方也启用了smtp程序,在哪里找
还是我的smtp文件配置有错呢?
& 回复于: 11:49:11
我telnet&127.0.0.1&
回:
220&mailserver&ESMTP&Postfix
mailserver,为何不是我的域名,而是主机名
Postfix是什么,难道我启用的不是qmail
& 回复于: 14:39:42
引用:原帖由&"wingger"&发表:我telnet&127.0.0.1&
回:
220&mailserver&ESMTP&Postfix
mailserver,为何不是我的域名,而是主机名
Postfix是什么,难道我启用的不是qmail&&&&&
你不是已经看出来了吗,现在你用的是postfix,把它停了吧,再启动qmail,我安装rh9.0时,没有安装postfix,所以我用#/etc/rc.d/init.d/sendmail&stop,你装了postfix,试试是不是#/etc/rc.d/init.d/&postfix&stop
& 回复于: 15:41:28
引用:原帖由&"ricky_gong"&发表:不好意思,我自己解决了&:D&
还是mysql的问题,抱歉抱歉,让大家费心了
小弟刚入门,所以经常出些小岔子,而且也经常问些菜问题:)&&&&&
Ricky&Gong:能说一下你是如何解决MYSQL问题的吗(就是那个
"could&not&connect&to&mysql&update&server&Access&denied&for&user:&'vpopmail@rh00e
could&not&connect&to&mysql&update&server&Access&denied&for&user:&'vpopmail@rh00)
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error:&MySQL&server&has&gone&away
vmysql:&sql&error[3]:&MySQL&server&has&gone&away
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error[c]:&MySQL&server&has&gone&away
vmysql:&sql&error:&MySQL&server&has&gone&away
vmysql:&sql&error[3]:&MySQL&server&has&gone&away
vmysql:&sql&error[2]:&MySQL&server&has&gone&away
Error:&Unable&to&chdir&to&vpopmail/users&directory
")
?我第一次本来是成功的,后来又重装了一次就不行了.谢谢!
& 回复于: 10:26:50
引用:原帖由&"aaron_yu"&发表:L&server&has&gone&away
Error:&Unable&to&chdir&to&vpopmail/users&directory
")
?我第一次本来是成功的,后来又重装了一次就不行了.谢谢!&&&&&
用户名有问题,仔细看一下,你的用户是vpopmail@rh00
& 回复于: 10:48:25
引用:原帖由&"bluelotus"&发表:&&&&
用户名有问题,仔细看一下,你的用户是vpopmail@rh00&&&&&
BlueLotus,真是用户名的问题.谢谢。
& 回复于: 07:32:01
mysql&;&alter&table&vpopmail&drop&primary&
ERROR&1146:&Table&'vpopmail.vpopmail'&doesn't&exist
& 回复于: 07:36:27
大哥这是什么问题啊?
mysql&;&alter&table&vpopmail&drop&primary&
ERROR&1146:&Table&'vpopmail.vpopmail'&doesn't&exist
查看mysql.log报以下错误
&:cry:&
:25:54&&/usr/libexec/mysqld:&Normal&shutdown
:25:54&&/usr/libexec/mysqld:&Shutdown&Complete
:25:54&&mysqld&ended
:44:46&&mysqld&started
Cannot&initialize&InnoDB&as&'innodb_data_file_path'&is&not&set.
If&you&do&not&want&to&use&transactional&InnoDB&tables,&add&a&line
skip-innodb
to&the&[mysqld]&section&of&init&parameters&in&your&f
or&my.ini.&If&you&want&to&use&InnoDB&tables,&add&to&the&[mysqld]
section,&for&example,
innodb_data_file_path&=&ibdata1:10M:autoextend
But&to&get&good&performance&you&should&adjust&for&your&hardware
the&InnoDB&startup&options&listed&in&section&2&at
/ibman.html
/usr/libexec/mysqld:&ready&for&connections
& 回复于: 10:08:57
'vpopmail.vpopmail'&还没有,你drop有什么用。
你先用vadddomains加域了么?
& 回复于: 10:45:42
我用./vadddomains&加域了,在/home/vpopmail/domains/下有域名啊!
& 回复于: 10:47:57
跟我用Virtual&PC虚拟机安装的REDHAT9.0有关系吗?
& 回复于: 09:30:30
感谢BlueLotus,终于安装成功!但在iGenus中发邮件有些慢,也不知是不是跟我的Virtual&PC有关.
& 回复于: 17:12:17
我按照了本文安装好以后,运行比较正常.
但是SMTP认证始终不可以.
刚刚看了以下一篇文章.
http://www.igenus.org/document/authhow.html
今晚回家就试下,看看能做好不!
& 回复于: 17:37:39
还有几个问题,
如果我打这个包,会打不进去.qmailqueue-patch
还有这个也是的.qmail-maildir++.patch
所以我安装QMAIL的时候没有打这两个包.
还好,能编译过去.
另外,很多人用MYSQL的源码自己编译安装的,那MYSQL的LIB和INCLUDE是在
/usr/local/include/mysql&和&/usr/local/lib/mysql/&里面的.
这个也要注意一下.
igenus的问题,因为我用的是PHP5,把全局变量关了,
那么,session_register()就应该是不能用了,要转换成$_SESSION[]
具体改动如下
$_SESSION[G_USERNAME]&=&$
$_SESSION[G_HOME]&=&$
$_SESSION[G_DOMAIN]&=&$
$_SESSION[G_TIME]&=&time();
$_SESSION[G_LANG]&=&$L
$_SESSION[G_ID]&=&$pw_
$_SESSION[G_QUOTA]&=&$pw_
$_SESSION[G_NICKNAME]&=&$pw_
/*
session_register(G_ID);
session_register(G_USERNAME);
session_register(G_HOME);
session_register(G_DOMAIN);
session_register(G_TIME);
session_register(G_LANG);
session_register(G_QUOTA);
session_register(G_NICKNAME);
*/
还有,apache运行的用户正考虑是不是应该换成nobody来运行.
把vpopmail也换成nobody用户.
最后,遗憾的是auth还没有做成.
如果谁有经验的,麻烦也和我说一下.感激不尽!
& 回复于: 16:49:12
引用:原帖由&"Syber"]ME&发表:&=&$pw_
/*
session_register(G_ID);
session_register(G_USERNAME);
session_register(G_HOME);
session_register(G_DOMAIN);
session_register(G_TIME);
session_register(G_LA..........&&&&&
说说auth的具体问题
& 回复于: 09:09:03
真的不错。我按照楼主所说的,自己装了两遍,都可以装好。当然之间也出现了一些问题,不过我参考回复也都解决了,谢谢大家~
& 回复于: 11:13:24
为什么我昨天装好的,web页面还可以收发自如的,而今天却突然不行了呢?我什么都没做啊?
& 回复于: 13:42:31
我看了一下maillog文件,发现里面没有web发邮件的记录.而用foxmail等发送就会有记录的.这是怎么回事呢?
& 回复于: 15:45:02
引用:原帖由&"artxing"]我看了一下maillog文件,发现里面没有web发邮件的记录.而用foxmail等发送就会有记录的.这是怎么回事呢?&发表:&&&&&
你是不是重启了电脑,会不会是sendmail又启动了,或者apache、mysql没有启动
& 回复于: 16:18:36
我就没装sendmail的.而&apache没起动的话.应该看不到页面的.可我可以看到页面.也可以登录.登录后也可以显示收件箱,发件箱.垃圾箱等的内容.发信后也显示发送成功,但是在收邮件都收不到了.用foxmail来收也收不到的
而我用foxmail收发都是正常的.我在foxmail里发了信,去web里看,在收件箱里也可以看到.
我的mysql也启动了的.
& 回复于: 16:48:58
bluelotus:
我打这个补丁的时候出现下面的信息,为什么后面三条是fail的?能告诉我是哪里做错了吗?
[root@RedHat9&qmail-smtpd-auth-0.31]#&patch&-d&../qmail-1.03&&&auth.patch
patching&file&Makefile
Hunk&#2&succeeded&at&1577&(offset&37&lines).
patching&file&TARGETS
Hunk&#1&succeeded&at&258&(offset&8&lines).
patching&file&qmail-smtpd.8
patching&file&qmail-smtpd.c
Hunk&#1&succeeded&at&25&with&fuzz&2&(offset&2&lines).
Hunk&#2&succeeded&at&63&with&fuzz&1&(offset&1&line).
Hunk&#3&FAILED&at&242.
Hunk&#4&FAILED&at&415.
Hunk&#5&FAILED&at&645.
3&out&of&5&hunks&FAILED&--&saving&rejects&to&file&qmail-smtpd.c.rej
& 回复于: 09:39:07
引用:原帖由&"artxing"&发表:我就没装sendmail的.而&apache没起动的话.应该看不到页面的.可我可以看到页面.也可以登录.登录后也可以显示收件箱,发件箱.垃圾箱等的内容.发信后也显示发送成功,但是在收邮件都收不到了.用foxmail来收也收不到的
..........&&&&&
看你的邮件日志,看是发到哪里去了
& 回复于: 09:41:06
引用:原帖由&"浮游"]Hat9&qmail-smtpd-auth-0.31&发表:#&patch&-d&../qmail-1.03&&&auth.patch
patching&file&Makefile
Hunk&#2&succeeded&at&1577&(offset&37&lines).
patching&file&TARGETS
Hunk&#1&succeeded&at&258&(offset&8&lin..........&&&&&
重新删了qmail,照我说的再做一遍看看
& 回复于: 10:51:15
如果要彻底的删除qmail,需要删除哪些文件?能告知一下吗?多谢了!!
& 回复于: 12:51:37
引用:原帖由&"bluelotus"&发表:&&&&
看你的邮件日志,看是发到哪里去了&&&&&
我用web发信的话,在邮件日志里根本没有记录的.
& 回复于: 14:49:55
引用:原帖由&"浮游"]如果要彻底的删除qmail,需要删除哪些文件?能告知一下吗?多谢了!!&发表:&&&&&
就删除你解压qmail-1.03的目录就行了,然后重新解压,再打补丁。
& 回复于: 09:59:20
引用:原帖由&"artxing"&发表:&&&&
我用web发信的话,在邮件日志里根本没有记录的.&&&&&
你看一下/home/vpopmail下用web发邮件时有没有新创建的文件,再分析一下原因。我昨天也遇到一个奇怪的问题,我重启服务器后,igenus竟然进不去,找了半天,原来是/的硬盘空间用尽,无法在/tmp下创建session文件,删了/下一些文件后,又正常了,所以有些问题可能是由一些系统问题引起的,仔细想想自己以前做过什么操作。
& 回复于: 14:58:07
楼主,请教一下。我完全安装了RedHat9(4933M),机器名为,配置DNS的正向和反向区域,添加了主机记录和邮件交换记录(都在本机),然后用nslookup&测试和wz.com都正确。
开始安装你的方案安装,在qmail的安装时用./config,通过,然后安装vpopmail.安装完vpopmail后,用./vadddom&&是,出错了。为什么?你的安装环境是什么,怎样设置的?能否具体一些?
& 回复于: 15:41:57
引用:原帖由&"bluelotus"&发表:&&&&
你看一下/home/vpopmail下用web发邮件时有没有新创建的文件,再分析一下原因。我昨天也遇到一个奇怪的问题,我重启服务器后,igenus竟然进不去,找了半天,原来是/的硬盘空间用尽,无法在/tmp下创建session文?.........&&&&&
我看过的,用web发信后/home/vpopmail//XXX/里的new文件夹下没有产生任何文件的.我都把整个硬盘格式化了重装过的,可是还是不行.
& 回复于: 09:10:21
引用:原帖由&"artxing"&发表:&&&&
我看过的,用web发信后/home/vpopmail//XXX/里的new文件夹下没有产生任何文件的.我都把整个硬盘格式化了重装过的,可是还是不行.&&&&&
是不是权限不对呀,修改了httpd.conf中的User和Group了吗?
& 回复于: 09:11:38
引用:原帖由&"kdeveloper"&发表:楼主,请教一下。我完全安装了RedHat9(4933M),机器名为,配置DNS的正向和反向区域,添加了主机记录和邮件交换记录(都在本机),然后用nslookup&测试和wz.com都正确。
开始安装你的方案安装,..........&&&&&
是不是你的命令打错了啊,./vadddomain
& 回复于: 13:50:07
pop3脚本如果是
#!/bin/sh&
/usr/local/bin/tcpserver&-H&-R&0&pop3&\&
/var/qmail/bin/qmail-popup&\&
/home/vpopmail/bin/vchkpw&/var/qmail/bin/qma}

我要回帖

更多关于 jquery绑定touchstart 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信