在安装和使用qmail中遇到的问题及解决

来源:互联网 发布:java zookeeper 注册 编辑:程序博客网 时间:2024/05/17 05:50
 

1、问题:使用igenus(web)可以对任何信箱收发邮件,但使用outlook、foxmail可以收但发信报:服务器:553 sorry, that domain isn't in my list allowed rcpthosts。

  解决:mv /var/qmail/control/rcpthosts /var/qmail/control/rcpthosts_bak

 

原因:qmail有一个名为rcpthosts(该文件名源于RCPT TO命令)的配置文件,其决定了是否接受一个邮件。只有当一个RCPT TO命令中的接收者地址的域名存在于rcpthosts文件中时,才接受该邮件,否则就拒绝该邮件。若该文件不存在,则所有的邮件将被接受。当一个邮件服务器不管邮件接收者和邮件接收者是谁,而是对所有邮件进行转发(relay),则该邮件服务器就被称为开放转发(open relay)的。当qmail服务器没有rcpthosts时,其是开放转发的。

延续的问题是:没有了rcpthosts这个文件,我的邮件服务器很快就成了垃圾邮件中转站。因此很无赖还得把这文件mv回来,如果一定要outlook和foxmail的话,目前来看只有一个来往这个文件添加域名地址了。

2、问题:按照xuki的文档把vpopmail目录放到了/data下,安装完毕qmail后不能启动,错误提示是:

@4000000046c1050717375a0c tcpserver: warning: dropping connection, unable to read /home/vpopmail/etc/tcp.smtp.cdb: file does not exist

   解决:ln -s /home/vpopmail/etc/tcp.smtp.cdb /data/vpopmail/etc/tcp.smtp.cdb

  

   问题:用igenus可以登录收发邮件,但用outlook、foxmail添加账户时总是弹出输入用户名、密码的对话框,输入正确的用户名、密码后提示密码错误。

   解决:vi /var/qmail/supervise/qmail-smtpd/run

把 /home/vpopmail/bin/vchkpw 改为 /data/vpopmail/bin/vchkpw。

    此时还发现/home/vpopmail/etc/tcp.smtp.cdb,才知道原来前面的无法启动找不到这个文件设置是在这里,把这个也改为:/data/vpopmail/etc/tcp.smtp.cdb。

   原因:密码错误是因为找不到验证文件vchkpw。如果是自己设定vpopmail的目录一定要注意修改此文件。

3、问题:igenus不能修改密码。

   解决:以root用户登录mysql。

mysql>alter table vpopmail drop primary key;

mysql>alter table vpopmail add column pw_id int(5)   not null primary key auto_increment;

4、问题:安装xuki的文档在装完maildrop后,就只能发不能收到邮件了。

 

解决:该文档中mailfilter文件的格式有问题,更改后解决。

今天想到就这么多了。如有遇到新问题和想起以前的老问题,在补充吧。

5、问题:安装igenus_admin后,用Admin/Admin登录后,出现找不到admin表的错误信息。如下:

系统提示:不能执行查询(query): SELECT count(*) as total FROM admin WHERE domain='qmailtest.com' AND login='1'

错误信息:Table 'vpopmail.admin' doesn't exist

错误代码:1146

   解决:以root(或vpopmail)登录mysql,use vpopmail ,然后手工创建admin表,具体的语句在:/var/www/html/docs/iGENS.sql的第35行。可复制粘贴,但要注意去掉字段名的反引号和每行末逗号后的字符。

  问题:接上访问admin/sys/目录输入用户名Admin与密码Admin登录后出现入下提示

系统提示:不能执行查询(query): SELECT * FROM admin ORDER BY id ASC LIMIT -20, 20

错误信息:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1

错误代码:1064

请稍候再试,如果问题仍然存在,请与系统管理员 联系!

  

 

解决:/var/www/html/admin/sys/index.php[igens装在/var/www/html下] 文件 第72行改为:$start_row=0;等你登录后再把这行改为原来的值。我的办法是把"cp index.php index.php_bak" , "vi index.php",改了72行:$start_row=0;登录后,"rm -f index.php","mv index.php_bak index.php",这样就不会改回来时出错。

 

   问题:当更新数据库后,确认,出现如下错误:

Unknown column 'createtime' in field list,1054  

    解决:root登录mysql,use vpopmail,alter table createtime timestamp(14) not null;

以上问题如果是按照xuki的文档装,可能都会遇到这一连串的问题的。

6、问题:某一天发现能收不能发了,ps -ef|grep qmail发现大量的如下类似信息:qmailr   17466 16896  0 14:04 ?        00:00:00 qmail-remote yahoo.com.tw  xqirlpvftt@yahoo.com.tw

重启qmail还是有,当判断是问题1的后续问题后,就知道是在大量的垃圾邮件还在邮件队列里,并没有自己清除掉。

解决:队列中的邮件包含在以下目录中 /var/qmail/queue/{info,mess,remote,local}/hash/#number

# kill -HUP qmail-send

停止QMAIL

mv /var/qmail/queue/lock /var/qmail/;find /var/qmail/queue/ -type f -exec rm {} /; ;mv /var/qmail/lock /var/qmail/queue/

重启QMAIL

可以 vi /var/qmail/control/queuelifetime ,如填写3600,意思是邮件在队列只保持1小时,超过一小时后,发不出的邮件会很快驳回。

原创粉丝点击