今天遇到一奇怪qmail发信问题:
qmail邮件服务器IP:QmailServerIP
qmail邮件服务器上只有两个域DOMAIN1 DOMAIN2
它们的MX解析完全相同
1 DOMAIN1 收发正常
说明解析没有问题
2 DOMAIN2发邮件正常,但是接收邮件失败
3 从其他邮件服务器telnet
Xshell:\> telnet QmailServerIP 25
Connecting to QmailServerIP:25...
Connection established.
Escape character is '^@]'.
220 mx.kaba365.com ESMTP
helo
250 mx.kaba365.com
mail from:[email protected]
250 ok
rcpt to:mail-noreply01@DOMAIN2
250 ok
data
354 go ahead
test
.
250 ok 1320152768 qp 14765
上述操作说明DOMAIN2这个域是可以正常接收邮件的,而且用户也是没问题的
4 我用系统账户发邮件测试
[root@XKWB3403 bin]# mail mail-noreply01@DOMAIN2
Subject: mail from sysadmin of 165
mail from sysadmin of 156
just for test
.
Cc:
然后去查看日志:failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/
5 同样用其他账户测试也是同样的报错
6 我查看了一下用户的邮件家目录是700权限,该邮箱是可以正常使用的
7 查看是不是存在这个 DOMAIN2
[root@XKWB3403 domains]# cat /var/qmail/users/assign
+DOMAIN2-:DOMAIN2:808:808:/home/mail/m/x//domains/DOMAIN2:-::
事实证明该域存在
8 查看该域下的用户是否真的存在
[root@XKWB3403 domains]# ls -l /home/mail/m/x/domains/DOMAIN2 |grep mail-noreply
drwx------ 3 vpopmail vchkpw 4096 Nov 1 20:52 mail-noreply01
9 vpasswd文件中是否有该用户
[root@XKWB3403 domains]# grep mail-noreply /home/mail/m/x/domains/DOMAIN2/vpasswd
mail-noreply01:$1$4wnYDs19$ecuwpq.fPjvDN5Z.eqb/A.:1:0:mail-noreply01:/home/mail/m/x//domains/DOMAIN2/mail-noreply01:
10 看了一下邮箱空间绰绰有余
[root@XKWB3403 Maildir]# cat /home/mail/m/x/domains/DOMAIN2/mail-noreply01/Maildir/maildirsize
52428800S
71693 7
11 重新生成vpasswd文件
[root@XKWB3403 Maildir]# ~vpopmail/bin/vmkpasswd DOMAIN2
依然无效,发信依然失败
这是什么问题导致的,如果有遇到相同问题的童鞋们,请留言,谢谢!!
不过最后我的解决办法就是重新生成DOMAIN2,重新添加账户 mail-noreply01,最后OK
另外附上清除邮件队列的命令:
find /var/qmail/queue/mess -type f -exec rm {} \;
find /var/qmail/queue/info -type f -exec rm {} \;
find /var/qmail/queue/remote -type f -exec rm {} \;
或者是find /var/qmail/queue/ -type f -exec rm {} \;