QMAIL的排错集.docx
- 文档编号:30285989
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:28
- 大小:161.63KB
QMAIL的排错集.docx
《QMAIL的排错集.docx》由会员分享,可在线阅读,更多相关《QMAIL的排错集.docx(28页珍藏版)》请在冰豆网上搜索。
QMAIL的排错集
QMAIL的排错集
1.虚拟域用户无法收信?
Q:
虚拟域为,向fish@用户发送邮件,邮件接收失败。
查看/var/log/qmail/send/current,发现”_no_mailbox_here_by_that_name”的错误提示。
A:
进入/var/qmail/control/目录,编辑locals文件,将条目删除即可。
当locals和virtualdomains这两个文件同时记录了一个相同域名时,虚拟域将接收不了邮件,因为locals文件优先级高。
另外,如果/var/qmail/control/rcpthosts文件内的格式不正确也会发生此问题。
正确格式:
””
2.使用ps–ef|grepsvscan命令后,发现该svscan服务没有运行?
A:
进入/package/admin/daemontools/common/目录,运行一下命令
./svscanboot手动启动svscan服务。
3.单独运行各个服务的run脚本,出现”softlimit:
fatal:
unabletorun:
filedoesn’texist”
A:
确保所有run脚本没有多于的空格
4.qmail-send服务启动失败
Q:
启动qmail,发现qmail-send服务没有起来。
进入/var/qmail/supervise/qmail-send/目录,运行./run命令,发现”cannotstart:
unabletoopenmutex”错误
A:
可能出现的原因就是sendmutex文件丢失。
所以执行下列2个命令重新创建该文件。
touch/var/qmail/queue/lock/sendmutex
Chownqmails:
qmail/var/qmail/queue/locks/sendmutex
7.Error:
couldn’tconnecttoPSNforpreferences?
A:
可以尝试重新给MYSQL用户赋予权限,使用以下命令:
Grantselect,insert,update,delete,onsquirrelmail.*tosquirrelmailuser@localhostidentifiedby“squirrelpassword”
8.Tcpserver;fatal:
temporarilyunabletofigureoutIPaddressfor0.0.0.0:
filedoesnotexist?
A:
touch/etc/dnsrewrite
9.无法发送邮件,查看/var/log/qmail/send/current日志,报如下错误:
“deferral:
uh-oh:
_.qmail_has_prog_delivery_but_has_x_bit_set._”
A:
找到所有.qmail文件,去除执行位”x”即可
12.为QMAIL安装stmtpd补丁包,操作流程(vpopmail安装后再打补丁)
A:
进入netqmail安装目录
cd/usr/local/src/Qmail_setup/netqmail-1.05/netqmail-1.05
patch
make
qmailctlstop
makesetupcheck
makecert
maketmprsadh
13. 451qqwriteerrorordiskfull
A.qmailqueue所在磁盘空间不足
Qmail-queue的权限设置不正确或文件有问题
14.Thesmtpserverreply:
qqcrashed
A.修改smtp启动脚本,改大smtp的softlimit
15.IGENUS登录后显示空白页面,查看日志提示:
”calltoundefinedfunction”:
mysql_connect()
A.出现以上错误是”php-mysql”包没有安装导致
尝试chgrp-Rvchkpw/var/lib/php/session
16.vpopmail用户的ID和vchkpw组的ID要与/var/qmail/user/assign文件中的邮件地址域的ID号要相同。
17.安装“uscpi-tcp-0.88”遇到下列错误:
Install:
fatal:
unabletowrite…/bin/tcpserver:
textbusy
A:
说明tcpserver还在运行,杀掉进程再安装
18.增加某个虚拟域时,提示“Error-noauthenticationdatabaseconnectioninitialopen”
A:
如果是用源代码安装的mysql,通常vpopmail找不到“/var/lib/mysql/mysql.sock“文件,需要做个连接:
ln–s/tmp/mysql.sock/var/lib/mysql/mysql.sock
19.qmail-smtpd服务启动失败,运行其脚本出现如下错误:
“QMAILUID,NOFILESGID,MAXSMTPD,orLOCALisunsetin/var/qmail/supervise/qmail-smtpd/run“
A:
说明其中一个变量值为空,确保每个变量都有正确的值,确保/var/qmail/control/目录下的“me,rcpthosts,defaultdomain,plusdomain“这四个文件有正确的域名,域名格式如下:
:
20.tcpserver:
warning:
dropingconnecting,unabletoread/home/vpopmail/etc/tcp.smtp.cdbfiledoesnotexist.
A:
chmod755/home/vpopmail
chownroot.root/home/vpopmail
chownroot.root/home/vpopmail/etc
chownroot.root/home/vpopmail/etc/tcp.smtp
chownroot.root/home/vpopmail/etc/tcp.smtp.cdb
重启机器。
21.客户端无法收取邮件,错误日志如下:
Vchkpw-pop3:
vpopmailusernotfoundxxx@:
192.168.0.5
A:
将客户端的帐号改为:
user@
确保该帐号确实存在。
22.邮件发生失败,提示下列错误:
Delivery2:
deferral:
unableto_switch_to_/home/vpopmail/domain/:
_access_denied
A:
出现此错误可能的原因是修改了vpopmail和vchkpw的uid和gid
cd/var/qmail/users
qmail-pw2u>assign
qmail-newu
23.运行smtp脚本时报错:
badinterpreter.Nosuchfileordirectory
A:
原因不是找不到文件,而是脚本的文件格式不对,很可能是DOS格式,可以用下列方法查看文件格式
打开smtp的脚本:
virun
查看文件格式:
:
setff?
可以看到dos或unix字样,若是dos,即可用:
setff=unix转换格式,存盘退出
24.客户端连接Qmail超时
A:
大多数原因是smtp脚本设置不正确少了一个“-H“参数,
将“tcpserver–v–R–l0–x/home/vpopmail/etc/tcp.smtp.cdb“
改成“tcpserver–v–H–R–l0–x/home/vpopmail/etc/tcp.smtp.cdb“
其原因是当连接25端口时,QMAIL会查询远端主机的信息,加了“-H“就可以解决此问题
25.发送信件时报错:
“SMTPServerreply451SPFlookupfailure“
A:
原因是在/var/qmail/control/目录下有个“spfbehavior“文件,可以临时性的将此文件移除该目录即可
26.打完SMTP验证补丁后,验证失败报错:
“unabletowritepipeandIcan’tauth“
A:
出现这种原因是,在打完补丁后,没有对其SMTP脚本做如下修改:
将“QMAILUID=`id–uqmaild`“
“NOFILESGID=`id–uqmaild`“
改成“QMAILUID=`id–uvpopmail`“
“NOFILESGID=`id–uvpopmail`“
27.删除邮件队列里的邮件
A:
qmailctlstop
mv/var/qmail/queue/lock/tmp
find/var/qmail/queue–typef|xargsrm–f
mv/tmp/lock/var/qmail/queue/
qmailctlstart
28.telnetlocalhost25失败,日志如下:
“warning:
dropingconnecting,unabletoread/home/vpopmail/etc/tcp.smtp.cdb:
:
accessdenied“
A:
chmod755/home/vpopmail
29.由于各种原因,在添加虚拟域的时候,提示该错误“Error:
Domainalreadyexists”
A:
通过以下步骤排除错误:
1.重新启动qmail服务
2.尝试删除该域:
vdeldomain
3.如果上述操作失败,进入数据库,看该域是否存在,如果存在就把它删除
4.进入/var/qmail/control/目录,尝试清除如下文件里的域:
virtualdomains
me
locals
rcpthosts
defaultdomain
plusdomain
5.进入/var/qmail/users/目录,查看assign文件,清除相应域的记录,并执行下列命令刷新
qmail-newu
30.发送邮件失败,出现下列错误日志信息:
“delivery8:
failure:
Connected_to_24.24.24.2_but_sender_was_rejected./Remote_host_said:
_554_5.1.0_Sender_Denied/”
原因分析:
Qmail试图向远端的24.24.24.2的邮件系统发送邮件,但是却遭到了对方的拒绝。
A:
1.如果您是向合伙人或者分支机构间发送邮件时遇到此类问题,请与对方的管理员取得联系,查明是否设置过滤将自己给挡在了外面。
2.如果是将邮件发送于此类邮件系统却遭到了同样的问题,请确保自己的邮件服务器的IP地址没有被列入黑名单。
31.实现邮件监控目的:
当用户在发送或收取邮件的同时,会将邮件的副本发送到另一个邮箱中以实现邮件备份的方式
A:
要实现这个目的,就需要进入Qmail的源目录(netqmail-1.05/netqmail-1.05),编辑extra.h文件。
假设建立一个monitor邮件账户,该账户就是用来转存所有用户发送或收取邮件的同时将副本发送到此邮箱。
编辑内容如下:
#defineQUEUEEXTRA“Tmonitor\0”
#defineQUEUEEXTRALEN9
QUEUEEXTRA是这样设置的,大写字母T,然后是用户名,最后是空字符“\0”。
QUEUEEXTRALEN表示是QUEUE_EXTRALEN的程度,上面算下来是九个字符,所以它为9。
然后生成~alias/.qmail-log,在此文件里面添加:
./logmaildir/
最后重新编译Qmail
32.重复收取同一封邮件的问题。
当A给B发邮件,B会收取A的多个邮件副本。
A:
尝试删除用户邮件目录下的.qmail文件可以解决该问题。
33.阐述Qmail控制文件特性,这些控制文件位于/var/qmail/control/目录下
badmailfrom:
拒绝接收邮件,可以防范垃圾邮件,每一个条目占一行。
例如,要拒绝abc@和域的邮件,格式如下:
abc@
@
concurrencylocal:
用来决定qmail可以同时运行的本地投递进程的数目,默认值是10,标准安装的qmail最大可设值是120。
concurrencyremote:
用来决定qmail可以同时运行的远程投递进程的数目,默认值是20,就是说,qmail可以在同一时间内同时发送20封邮件,标准安装的qmail最大可设值是120。
要使其生效必须重新启动Qmail进程。
locals:
用来为qmail指明位于本地的邮件地址。
qmail-send利用此文件来判断收件人地址是否是一个本地址。
me:
如果没有me文件,那么你的qmail将拒绝执行
virtualdomains:
让qmail接受本地邮件以外,还接受该文件中指定的域或者邮件地址,就是常说的虚拟域支持。
databytes:
该文件控制着邮件本身的大小,该大小指的是邮件全文大小,包含邮件头、正文、附件内容等
如果要控制邮件大小再10M,其计算公式就是(10*1024*1024=10485760)
rcpthosts:
这个文件用来指定qmail可以接收的除本地主机名外的其他域名
34.安装Qmail可视化管理界面--Qmailadmin
A:
要安装qmailadmin之前,必须要安装Autorespond和Ezmlm
安装Autorespond步骤:
tar-xvzfautorespond-2.0.2.tar.gz
cdautorespond-2.0.5
make
makeinstall
安装Ezmlm步骤:
tar-xvzfezmlm-0.53.tar.gz
tar-xvzfezmlm-idx-0.443.tar.gz
cp-rfezmlm-idx-0.443/*ezmlm-0.53/
cdezmlm-0.53
patch make makeman makesetup 最后安装qmailadmin tar-xvzfqmailadmin-1.2.11.tar.gz cdqmailadmin-1.2.11 ./configure--enable-htmldir=/var/www/html--enable-cgibindir=/var/www/cgi-bin--enable-vpopuser=vpopmail--enable-autoresponder-bin=/usr/bin--disable-ezmlm-mysql--enable-modify-quota--enable-domain-autofill make makeinstall-strip cd/usr/local/share/qmailadmin/lang mvenen.bak cpzh-cnen 要注意的是: 访问该管理界面的URL是通常是http: //x.x.x.x/cgi-bin/qmailadmin 登陆名必须是postmaster 35.安装ClamAntiVirus之后,启动该进程失败。 A: 原因是系统中没有swap分区。 只要在现有的硬盘里分配一个swap分区或者在安装系统时安装swap分区就可以解决此问题。 36.更改Qmail默认连接端口为587 A: 默认情况下,Qmail用户通过25端口来连接邮件服务器发送邮件,但为了提升安全性可以更改Qmail的默认端口为587。 这样的一个行为,仅仅影响到MUA客户端连接邮件服务器,并不会影响到邮件服务器与邮件服务器之间的连接,他们之间的连接仍然用的是25端口。 步骤一: 复制qmail-smtpd(位于/var/qmail/bin目录)为qmail-smtpd-auth 步骤二: 使用十六进制编辑器(hexeditor)打开qmail-smtpd-auth并查找关键字rcpthosts 步骤三: 用rcptempty替换rcpthosts 步骤四: 在/var/qmail/control目录下,创建rcptempty文件 步骤五: 修改端口为587 编辑/var/qmail/supervise/qmail-smtpd/run文件,原始配置(贴出一部分) 将上述红色部分,按如下修改: 步骤六: 重新启动Qmail服务,并尝试使用587端口进行连接。 37.“Sorry,_message_has_wrong_owner._(#4.3.5)” A: 原因是queue队列损坏,删除/var/qmail/queue目录,重新makesetupcheck生成目录 38.经常收到来自<>和<#@[]>的邮件 A: 这两种信件都是系统产生的,区别在于<>是系统singlebounce的地址,而<#@[]>是系统doublebounce或者triplebouces的地址。 系统用这两种地址是为了避免邮件回路。 用下列方式解决此问题: echo“#”>/var/qmail/alias/.qmail-doublebounceto echo“doublebounceto”>/var/qmail/control/doublebounceto 编辑/etc/profile文件,添加如下变量 QMAILUSER="admin" QMAILHOST="sinotex.cc" 编辑/usr/share/logwatch/default.conf/logwatch.conf文件,找到如下条目做相应修改: MailTo=admin@sinotex.cc 39.Maildrop报错“Cannot_have_world/group_permissions_on_the_filter_file_-_for_your_own_good./” A: mailfilter必须是600属性,脚本样板如下: 该脚本支持用户自定义黑白名单,又不需要到处放.mailfilter的方法: 来自于白名单中的邮件直接跳过该脚本的处理,将邮件发到收件人邮箱中 来自于黑名单中的邮件将直接被删除。 如下修改.qmail-default vi.qmail-default |/usr/local/bin/maildrop./.mailfilter 创建mailfilter邮件过来脚本 vi.mailfilter SHELL=/bin/sh importEXT importHOST VPOP="|/home/vpopmail/bin/vdelivermail''bounce-no-mailbox" VHOME=`/home/vpopmail/bin/vuserinfo-d$EXT@$HOST` #checkdir `test-d$VHOME/Maildir/` if($RETURNCODE! =0) { echo"Sorry,_no_mailbox_here_by_that_name." EXITCODE=77 exit } #blacklist # `test-f$VHOME/.blacklist` if($RETURNCODE==0) { $DOMAIN=`expr$SENDER: '.*@\(.*\)'` if($SENDERne''&&(lookup($SENDER,"$VHOME/.blacklist")||lookup($DOMAIN,"$VHOME/.blacklist"))) { #to"$VHOME/Maildir/.Trash/" to/dev/null } } #whitelist # `test-f$VHOME/.whitelist` if($RETURNCODE==0) { if($SENDERne''&&lookup($SENDER,"$VHOME/.whitelist")) { to"$VHOME/Maildir/" } } #spamassassin # if($SIZE<262144) { exception{ xfilter"spamc-f-u$EXT@$HOST" } } else { exception{ to"$VHOME/Maildir/" } exception{ to"$VPOP" } } if(/^X-Spam-Flag: *YES/) { ADDQUOTA="$SIZE1" `echo$ADDQUOTA>>$VHOME/Maildir/maildirsize` to“$VHOME/Maildir/.Trash/” } else { exception{ to“$VHOME/Maildir/” } exception{ to“$VPOP” } } 40.Maildrop报错“Unable_to_execute_/sbin/nologin/Unable_to_execute_/sbin/nologin/”或“sorry,_no_mailbox_here_by_that_name._” A: 如果编译maildrop的时候设置了vpopmail做为uid来跑,即: ./configure–enable-maildrop-uid=vpopmail–enable-maildrop-gid=vchkpw–enable-maildirquota 则必须给vpopmail一个shell,默认是/sbin/nologin,修改/etc/passwd ,改为/bin/bash即可。 41.无论是本地用户还是国外寄来的邮件都无法对其处理即无法收邮件,也无法发送邮件? A: 所有要发送的邮件或是要接收的邮件都处在队列里,但是并没有处理在队列里的邮件,通过使用qmHandle–l命令发现: messagesinqueuebutnotyetpreprocessed: x。 显然qmail不知道如何去处理队列中的邮件,可以尝试如下步骤排除: a: qmailctlstop
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QMAIL 排错集
![提示](https://static.bdocx.com/images/bang_tan.gif)