首页 > 学技术 > 技术网文 > Mail服务器 > 正文

[保留] qmail常见问题及解决办法(更新中[12-23]....)


来源 chinaunix.net 酷勤网整理

Qmail常见问题解决办法:
1.不能给sina发信

进入qmail/control创建helohost 
echo serverip >; helohost

2. |/usr/local/bin/autorespond 10000 5
|表示调用一个程序来处理该邮件这里是调用autorespond来处理;10000表示允许处理信 
件的总时间;5表示在这段时间内的最大邮件
3.限制你的邮件列表被滥用
你需要在邮件列表文件头加入一个过滤程序。一种选择是使用qmail的补丁程序 qlist ,你可以在官方站点qmail.org找到它。它会使用 pgp 来标记你的邮件信息,一个包含pgp标识的过滤的邮件列表大致如下:
 |if grep "^-----BEGIN PGP MESSAGE-----$"; then exit 0; else exit 100; fi
 |if grep "^-----END PGP MESSAGE-----$"; then exit 0; else exit 100; fi
 |if pgp -f; then exit 0; else exit 100; fi
 +list
 &address
 &address
 ...
  只有邮件列表允许的用户(假定是别名)才拥有pgp的密钥。或者为需要的用户指定一个密钥文件。  另外一种过滤器通过检查邮件,判断是否来自本地用户或者来自最近的qmail-smtpd进程。如果是本地用户就允许通过,远程站点的就退回该信件。它的形式如下:  |if grep Received: | tail +1l | grep network; then echo 
    "This is a moderated list"; exit 100; fi
  +list
  &address
  &address
  ...

如果不是本地系统的用户,你可以分配一个别名(记得chmod 700 ~alias),使它能投递到邮件列表。运行:
  
  |grep -v '^Delivered-To:' | forward LISTNAME

必须删除 Delivered-To: 这行,否则将它放弃这个别名
4. 如果你不想让一份无法投递的邮件在队列里呆太久
你可以在 queue/info 目录里运行
  touch -d '1 week ago'
来结束它的队列生命周期。这样,如果再次投敌不成功,这份邮件就会被退回
5.用telnet my.domain 25时返回:   
    Trying xx.xx.xx.14..... 
    Connected to www.xxx.com 
    Escape character is '^]'.    
    220 www.xxx.com ESMTP  
    502 unimplemented (#5.5.1)
此现象是密码验 证的包checkpasswd没有装好。
6.装完qmail后,用本地的信箱或外面的信箱发信过来都显示错误:
delivery 12: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/
没有创建用户的Maildir目录.请记住,创建maildir目录的组和用户权限必须正确
7. maillog里面出现:
     "Unable_to_open_./Maildir:_is_a_directory._(#4.2.1)/"
在修改rc里的./Mailbox 改成 ./Maildir/时出错
8. maillog里面出现: 
oh:_.qmail_has_file_delivery_but_has_x_bit_set._(#4.7.0)/

.qmail文件多了个x标志位,  运行chmod a-x .qmail  

9.maillog里面出现:
 "Unable_to_open_./Maildir:_is_a_directory._(#4.2.1)/"
用户的.qmail所在地方不对,此文件必须存在于用户的HOME里面
10.tcpserver執行qmail-smtpd 时默认的为40个进程, 
要想修改更多的话,例:200个 
tcpserver -c 200 
tcpserver -v -u uid -g gid 0 smtp /var/qmail/bin/qmail-smtpd \ 
2>;&1 | /var/qmail/bin/splogger smtpd 3 & 
&不要省略,
11.如何清除90天前的邮件find /home/vpopmail/domains/ -ctime +90 -type f -path '*Maildir/cur*' | xargs -i --verbose rm '{}' 2>;&1
12. Qmail拒收某个IP或网段的邮件
编辑你的tcp.smtp文件,加入: 
对方的IP:deny 
或者: 
某个网段.:deny 
例:2.82.34.:deny
来禁止2.82.34的整个网段的访问。 
然后使用tcprules重新生成tcp.smtp.cdb文件。
13.qmail自动删除发给系统上不存在的邮件帐号的信,而且不产生系统退信echo'|/var/vpopmail/bin/vdelivermail' 'delete'>; /var/vpopmail/domains/yourdomain.com/.qmail-default 
这会把发给不存在的用户的信直接删除掉.
14. 清除qmail的邮件队列
安装qmail-remove
qmail-remove -r
这步会把所有队列内容移动到/var/qmail/queue/yanked目录下。
接下来可以决定如何处理该目录的内容了,垃圾邮件
15. Q: 有没有简单的方法可以阻止某些用户发邮件到外部地址 (或内部服务器)?
A: 可以.注意NO_RELAY标志,它可以对任何用户起作用:
vmoduser -r email@domain 
Q: 有没有方法可以拒绝整个域的POP连接,而不单是某个邮件地址?A: 当然.vmodeuser可以帮你解决问题:

vmoduser -p domain.com 
16.把一邮件域的名字比如a.com更改为b.com,如何实现
以下几个步骤: 
1、cd /home/vpopmail/domains 
mv a.com b.com 
2、把vpopmail数据库的vpopmail表导出把所有a.com改为b.com,然后删除vpopmail表,再导入. 
3、把把vpopmail数据库的dir_control表的a.com改为b.com 
4、在/home/qmail/control 目录下把 virtualdomains和rcpthosts下的的a.com改为b.com. 
5、在/home/qmail/users目录下把assign文件的a.com改为b.com 
6、需要运行qmail-newu重新生成cdb。assign只是配置文件,cdb才是实际的数据文件。
加快 qmail 投递邮件速度
17. spamd调用maildrop方法
在youreal.com下修改.qmail-default
为:
| /usr/local/bin/maildrop ./.mailfilter
创建.mailfilter
内容如下:
VHOME=`/var/qmail/vpopmail/bin/vuserinfo -d $EXT@youreal.com`
 
if ( $SIZE < 262144 )
{
        exception {
                xfilter "/usr/bin/spamc -f -u $EXT@youreal.com"
        }
}
 
if (/^X-Spam-Flag: *YES/)
{
       
 
    
 to "$VHOME/Maildir/.Trash/" ##使符合垃圾邮件特征的邮件放到垃圾箱里
 
}
else
{
      exception {
                to "$VHOME/Maildir/."
        }
修改.mailfilter的属性
chown vpopmail:vchkpw .mailfilter 
chmod 600  .mailfilter

qmail控制文件的作用
qmail-inject 

qmail-inject接受本地邮件消息后检测邮件头是否符合RFC822标准,并传送给qmail-queue排进队列 
defaultdomain 用来向那些没有使用正确的username@hostname.domain格式的邮件中增加邮件地址的,默认情况下,如果主机地址中没有结束符".",qmail-inject将给主机名后添加defaultdomain的内容,如果该文件不存在,将使用me文件中的值代替.例如:defaultdomain值为yourdomain.com本地产生了一封发送给xxxx@xxxx的邮件,那么qmail-inject将用yourdomain.com来补全这个后缀,变成xxxx@xxxx.yourdomain.com 
defaulthost 用来定义主机名,用来向地址中不含主机名的邮件补足邮件地址的。类似于defaultdomain。例如:defaulthost值为yourdomain.com那么发送给 xxxx的消息,将被qmail-inject用defaulthost的值来补足为xxxx@yourdomain.com,以便于qmail-send快速分辨是否属于本地地址。 
idhost 用来指定邮件中Message-ID:头字段的主机名例如:idhost值为yourdomain.com那么邮件头中如下: 
Message-ID:<1234567890.12345.qmail@yourdomain.com>; 
如果idhost值为xxxx.yourdomain.com 那么邮件头中如下: 
Message-ID:<1234567890.12345.qmail@xxxx.yourdomain.com>; 
plusdomain 
用来将其值添加在任何一个以一个+号结尾的地址 
 qmail-qmqpc qmail-qmqpc是快速邮件排队协议(QMQP)使用的程序,QMQP是一个QMAIL专用协议,用在工作站级QMAIL服务器向中心服务器发送队列。 
qmqpservers 用来指定qmail-qmqpc使用的上级服务器 
通常该功能应用很少,我认为qmail-qmqpc用法就是代替qmail-queue来直接传给上级服务器。 
 qmail-remote 
qmail-remote通过SMTP协议向远程主机传送邮件。 
helohost 该文件用来指定qmail-remote程序与远程邮件主机SMTP会话中的主机名。 
smtproutes 用来指定到固定目的的静态SMTP路线。 
例子:smtproutes内容如下 
xxxx.yourdomain.com:mail8.xxxx.jp 
:fw.xxxx.yourdomain.com:8088 
第一行的存在会将发给xxxx.yourdomain.com的邮件重定向到mail8.xxxx.jp主机 
第二行的存在会将任何不符合之前行条件的邮件重定向到fw.xxxx.yourdomain.com的8088端口,让邮件安全的穿越防火墙 
qmmail-remote将按照smtproutes中的行序来进行处理 
timeoutconnect 用来指定qmail-remote尝试同一个远程邮件主机建立一个SMTP会话的时间。默认值状态下如果超出60秒没有得到远程邮件主机的回应,那么将断开连接。 
timeoutremote 用来指定qmail-remote在一个SMTP连接已经建立后,远程邮件主机的每一个回应的时间数。默认值为1200秒。 

qmail-send 

qmail-send用来检测队列中每一个邮件的状态,并调用相应的程序进行处理。例如一个目的为本地的邮件将会被qmail-send调用qmail-lspawn处理。 
bouncefrom | bouncehost 默认情况下,退回给原始发送方的邮件的发件人地址为MAILER-DAEMON@HOSTNAME,如果你想修改MAILER-DAEMON这段,那么就修改bouncefrom文件吧。如果想修改MAILER-DAEMON@HOSTNAME中HOSTNAME这段,那么就修改bouncehost文件。例如:bouncefrom内容为SERVER-MANAGER | bouncehost文件内容为mail8.xxxx.jp那么一封因为邮件地址不存在而被退回的通知邮件的发件人将是 SERVER-MANAGER@mail8.xxxx.jp 
concurrencylocal 用来决定qmail可以同时运行的本地投递进程的数目,默认值是10,标准安装的qmail最大可设值是120。安装的时候可以通过修改conf-spawn来将其变为255以下任何数目。 
concurrencyremote 用来决定qmail可以同时运行的远程投递进程的数目,默认值是20,就是说,qmail可以在同一时间内同时发送20封邮件,标准安装的qmail最大可设值是120。安装的时候可以通过修改conf-spawn来将其变为255以下任何数目。 
doublebouncehost | doublebounceto 这两个控制文件类似于bouncefrom和bouncehost的关系,也是doublebouncehost指定主机名,doublebounceto指定用户名。 
他们的功能是为一个被退回两次的邮件制定一条出路。例如:doublebouncehost内容为xxxx.yourdomain.com | doublebounceto内容为xxxx那么一个被退回2次的邮件将被发送给xxxx@xxxx.yourdomain.com 
没有这两个文件的时候,那么发送给postmaster@me文件中的域名 
envnoathost 
qmail-send用来给没有主机名的邮件收件人制定一个主机名的,通常这个文件并没有必要,qmail-send总是使用me文件中的域名。 
locals 
用来为qmail指明位于本地的邮件地址。qmail-send利用此文件来判断收件人地址是否是一个本地地址。 
例如:locals文件中写有xxxx.yourdomain.com 
那么qmail-send检测到队列中有发送给@xxxx.yourdomain.com的邮件的时候,就会调用qmail-lspawn来进行本地投送。 
me 如果没有me文件,那么你的qmail将拒绝执行。me文件用来指定本地邮件服务器的主机名。以上列出的许多控制文件在没有被创建的时候,qmail都会用me中的值来代替。 
percenthack 在UUCP协议中带有%并在该文件中列出的地址将会被转换为一个标准的DNS格式主机名。 
queuelifetime 用来指定一个邮件在队列中的最大存活时间,默认是604800秒,当一个邮件达到这个时间线后,qmail将最后一次尝试发送这封邮件,如果依然失败,会将其从队列中删除。 
virtualdomains 
让qmail接受本地邮件以外,还接受该文件中指定的域或者邮件地址,就是常说的虚拟域支持。 
  qmail-smtpd 
qmail-smtpd接受远程主机的邮件并转交给队列处理程序qmail-queue来处理。 
badmailfrom 用来指定不喜欢的发件人的邮件地址或者是域名 
例如:badmailfrom中写有 
advt@msn.com 
@hotmail.com 
如果advt@msn.com给该邮件主机送信时,将得到code 553,告知其是一个不受欢迎的发件人。而所有来自hotmail.com的发件人也将得到同样的code 553。 
databytes 用来指定该邮件服务器可以接受邮件的最大字节数。 
例如:databytes指定为8000000 
那么如果有人给该主机发送的邮件字节数超过了这个商业上默认的最大容忍限度,将得到code 552,告知其邮件大小超出了该邮件主机所能容忍的限度。恐怖的是,默认状态下,这个文件并没有,如果有人用你服务器上的两个不存在的地址作为FROM/TO发一个100M的邮件 :o 
localiphost 
用来为使用ip来标示目的主机的邮件消息指定本地主机名的例如:xxxx.yourdomain.com的ip地址为198.17.1.2 | localiphost内容为xxxx.yourdomain.com那么一封发送给xxxx@[198.17.1.2]的邮件的地址会被转换为xxxx@xxxx.yourdomain.com 
rcpthosts | morercpthosts 
这两个文件用来指定qmail可以接收的除本地主机名外的其他域名他们的作用是相同的,不过因为rcpthosts中的域名不能超过50行,所以才出现了morercpthosts文件 
timeoutsmtpd 用来指定qmail-smtpd等待远程SMTP主机发送数据的时间线。默认的情况下,如果连接建立后1200秒内没有接受到远程SMTP主机的任何信息,那么将关闭这个连接。 
smtpgreeting 用来指定SMTP连接的欢迎标志 
例如:smtpgreeting值为 welcome connect to out open relay mail server - ad.xxxx.yourdomain.com那么建立一个smtp连接的时候将会看到如下信息: 
Trying 198.17.x.x... 
Connected to ad.xxxx.yourdomain.com. 
Escape characteris ^]. 
220 welcome connect to out open relay mail server - ad.xxxx.yourdomain.com ESMTP
delivery 1: deferral: Uh-oh:_home_directory_is_writable._(#4.7.0)/
It's actually pretty clear: qmail refuses to deliver mail to that account
because its home directory is world-writable, because that's a security risk.

Remove the world-writable permissions on the user's home directory



 myblessu 回复于:2004-12-23 10:00:53

支持,但是能不能专门开设一栏讨论垃圾邮件的过滤问题呢?


 wd 回复于:2004-12-24 10:43:49

qmail中的几个error的产生的原因和解决方法
wd | 14 十二月, 2004 10:18

1  deferral: Unable_to_chdir_to_maildir._(#4.2.1)

  这个是qmail找不到用户的收信目录所致。如果你是用vpopmail的虚拟域名来管理的,那看看你的control/locals文件,里面不能有虚拟域名,只能有实际域名(这个实际域名的意思应该是使用系统用户作为用户的域,而不是使用vpopmail的虚拟用户的域)。因此呢,如果不是用vpopmail,那么可能是系统用户的目录权限设置不正确。

  如果发生这个错误,首先保证你没有对user/assign做过手动修改,添加域名都是使用vpopmail的vadddomin命令来添加的,没有修改过~vopmail/domins目录以及其下面目录的权限和属主,然后修改了locals文件之后重启应该就没有问题了。

2  deferral: Uh-oh:_.qmail_has_prog_delivery_but_has_x_bit_set._(#4.7.0)

   这个是因为你的.qmail文件设置了x属性,把.qmail文件的x去掉就ok了。这个.qmail文件就在你的domins/xxx.com下面,包括比如.qmail-default之类的文件,修改一下权限,去掉x就ok了。

3  454 oops, unable to write pipe and I can't auth (#4.3.0)

  这个错误是在你打了smtp auth的补丁之后,却发现不能正常auth,输入了正确的用户名密码还是提示不正确。可以通过下面的命令来测试。

[root@caph qmail-smtpd]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 xxx.com ESMTP
ehlo
250-xxx.com
250-PIPELINING
250-8BITMIME
250-SIZE 104857600
250 AUTH LOGIN PLAIN CRAM-MD5 //显示这个通常表示你已经打好了补丁,不过这个是可以通过修改qmail-smtp.c文件来定制的。
auth login
334 VXNlcm5hbWU6
awefaq23rasdf
334 UGFzc3dvcmQ6
awefwaef
454 oops, unable to write pipe and I can't auth (#4.3.0)
quit
221 xxx.com
Connection closed by foreign host.

出现了这种问题是因为smtp运行脚本没有设置正确的用户所致。将你的smtp的tcpserver命令的运行用户和组指定一下。

QMAILDUID=`id -u vpopmail`
QMAILDGID=`id -g vpopmail`

/usr/local/bin/tcpserver -v -H -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" 
        -u "$QMAILDUID" -g "$QMAILDGID" 0 smtp /usr/local/bin/rblsmtpd -r relays.ordb.org 
        /var/qmail/bin/qmail-smtpd 
        /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>;&1

不需要修改~vpopmail/bin/vchkpw的属性。

4 451 qq write error or disk full (#4.3.0)

通常产生这个可能有2个原因:(1)你的qmail queue所在的磁盘空间不足。(2)qmail-queue的权限设置不正确或者文件有问题。


 youreal 回复于:2005-01-03 16:07:47

真的不错·


 yjc2688 回复于:2005-01-07 23:30:25

此帖已转移!


 zjtrendy 回复于:2005-01-17 13:40:35

增加两个:
1。错误信息:the smtp server reply:qq crashed (#5.1.1) 
  修改stmp启动脚本,改大smtp的softlimit
  
2.Sorry. Although I'm listed as a best-preference MX or A for that host,it isn't in my control/locals file, so I don't treat it as local. (#5.4.6)
  修改源码:ipme.c
              ip_scan("0.0.0.0",&ix.ip);--92行左右加进
  if (!ipalloc_append(&ipme,&ix)) { close(moreipme_fd); return 0; }

Good Luck To You!


 1261 回复于:2005-01-17 19:44:28

建议将
不能给sina发信 
进入qmail/control创建helohost 
echo serverip >; helohost 
修改为给新浪打电话


 tingyu 回复于:2005-01-20 17:54:38

引用:原帖由 "1261" 发表:
建议将
不能给sina发信 
进入qmail/control创建helohost 
echo serverip >; helohost 
修改为给新浪打电话



why?but I think sina.com is shit!!!!!


 tianxiao 回复于:2005-02-04 09:21:26

引用:原帖由 "myblessu"]支持,但是能不能专门开设一栏讨论垃圾邮件的过滤问题呢?
 发表:



提的好!垃圾邮件让我很头疼... :x


 bbenyu 回复于:2005-02-21 14:56:45

关于楼主文中有段:
6.装完qmail后,用本地的信箱或外面的信箱发信过来都显示错误: 
delivery 12: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/没有创建用户的Maildir目录.请记住,创建maildir目录的组和用户权限必须正确 

关于此问题,我正遇到,可是无论我改权限,还是把域删除重新添加后,都出现同样的错误,我服务器上有二个域,如:a.com和b.com,
其中a.com都能正常运行,但b.com却无法接收邮件,但能发送!
我试了很多办法都无效,像rcpthosts、locals等均正确!
所以特此提问!


 nslookup 回复于:2005-02-28 23:47:51

我的qmail是daemontools+qmail,默认的log形式是 mutillog,@4000000042232edc03d145a4 starting delivery 319: msg 462513 to local abc@domain.com。
 由于前面的时间戳我看不懂,怎么样能让log按照syslog的形式表现出来呢? 
就是象这样:Feb 28 23:52:28 localhost smtpd: 1109605948.691933 Accept::SNDR::Relay_Client: S:202.100.68.169:unknown H:ibmcn2wz5mr8xr F:abc@domain.com T:efg@yahoo.com
请大侠帮帮忙指点一下,非常感谢。


 love100 回复于:2005-03-01 10:26:46

装一个webmin


 nslookup 回复于:2005-03-01 15:26:34

引用:原帖由 "love100"]装一个webmin
 发表:



请问装webmin 用来做什么,转换?还是看日志? 能说具体点吗?


 zhanglianxiao 回复于:2005-03-02 11:11:11

引用:原帖由 "love100" 发表:
16.把一邮件域的名字比如a.com更改为b.com,如何实现 
以下几个步骤: 
1、cd /home/vpopmail/domains 
mv a.com b.com 
2、把vpopmail数据库的vpopmail表导出把所有a.com改为b.com,然后删除vpopmail表,再导入. 
3、把把vpopmail数据库的dir_control表的a.com改为b.com 
4、在/home/qmail/control 目录下把 virtualdomains和rcpthosts下的的a.com改为b.com. 
5、在/home/qmail/users目录下把assign文件的a.com改为b.com 
6、需要运行qmail-newu重新生成cdb。assign只是配置文件,cdb才是实际的数据文件。 
..........


我按照这个步骤没有成功,能帮忙解决一下吗?
http://bbs.chinaunix.net/forum/viewtopic.php?t=500502&show_type=


 wyaodong 回复于:2005-03-04 10:21:05

大侠帮帮忙啊,我的freebsd下的qmail系统只能收邮件,本服务器收发邮件也没有问题,但是发给其他有杀毒功能的邮箱如163。com,126。com不行,发给互连星空(浙江电信)的邮件被变成了两个网页形式的附件。我猜测可能是病毒,大家来指点一下啊,谢谢


 crazy boy 回复于:2005-03-12 22:21:32

:em16: 我是新手不明白 :em14: 多多指教


 zlxgoal 回复于:2005-03-28 14:34:05

引用:原帖由 "1261" 发表:
建议将
不能给sina发信 
进入qmail/control创建helohost 
echo serverip >; helohost 
修改为给新浪打电话



Yes !


 LostFire 回复于:2005-04-05 09:04:24

qmail投递失败后重发时间的设置默认值是多长时间呢?有没有文件可以进行设置


 yjunmao 回复于:2005-04-06 20:05:55

igenus接收邮件后选择转发邮件的提示出错的问题 
Warning: fopen(/home/vpopmail/domains/jj-fish.com/yinjun/Maildir/./cur/1112413486.165.mail.jj-fish.com,S=2024): failed to open stream: No such file or directory in /usr/local/apache2/htdocs/mail/forward.php on line 65 
Error open mail source file! 


然后我刷新一下,在转发或回复就正常勒。请问这是什么问题。 



我做了测试,一边发信一边看目录下的文件。

在我收信的目录下,如果收到一份新的信件时,显示如下
-rw------- 1 vpopmail vchkpw 3000 Apr 6 11:17 1112757424.4896.www.jj-fish.com,S=2937:2,S

其中2937就是新邮件,然后我如果直接按回复,也就是打开同2937这一份新,一切正常。


但是我按转发信件。提示错误。
Warning: fopen(/home/vpopmail/domains/jj-fish.com/jj/Maildir/./cur/1112758807.4931.www.jj-fish.com,S=12765): failed to open stream: No such file or directory in /usr/home/service/jj-fish/mail/forward.php on line 65
Error open mail source file!

根据说明应该是没有找到系统还没有来的急复制2937原信件为12765,所以提示错误。
但是虽然系统提示没有找到那封信件,但邮箱的cur目录刚自己复制出了12765编号的信件。

-rw------- 1 vpopmail vchkpw 3000 Apr 6 11:17 1112757424.4896.www.jj-fish.com,S=2937:2,S
-rw------- 1 vpopmail vchkpw 12828 Apr 6 11:40 1112758807.4931.www.jj-fish.com,S=12765:2,S

所以我重新打开邮箱,再按转发就可以正常勒,也不再出错 ,因为转发需要的12765编号信件已经系统自己复制出来。


知道勒问题,可是原因是有什么引起的?帮忙解决一下吧,谢谢。


 love100 回复于:2005-04-18 08:38:43

这和qmail没关系,是PHP代码的问题,修改一下就OK了


 love100 回复于:2005-04-18 08:45:18

引用:原帖由 "LostFire"]qmail投递失败后重发时间的设置默认值是多长时间呢?有没有文件可以进行设置
 发表:


7天
修改queuelifetime


 netlogon 回复于:2005-05-19 19:53:53

15. Q: 有没有简单的方法可以阻止某些用户发邮件到外部地址 (或内部服务器)? 

A: 可以.注意NO_RELAY标志,它可以对任何用户起作用: 
vmoduser -r email@domain 


不明白这个有什么用呢?
我设置了./vmodeuser -r test@mydomain.com
但是test@mydomain.com照样可以给外部域发送邮件

为什么呢?


 kofluo 回复于:2005-07-07 08:29:41

我的qmail系统发信速度超慢,我5号早上发的信,竟然到6号的夜里12点才收到,请问各位大侠,这可能是因为什么?


 gww 回复于:2005-07-09 11:30:28

qmail自动删除发给系统上不存在的邮件帐号的信,而且不产生系统退信

我使用的是 tcpserver + qmail-auth,  不是vpopmail。 请问如何实现此功能?

另如何我想定制回信的内容,如何修改?


 lcw410 回复于:2005-09-05 17:45:22

希望楼主能写一个卸载qmail的帖子,还包括qmail 其它的一些组件的卸载,
因为想我们这些菜鸟,还不是很清楚,有的时候卸载错误会导致系统崩溃的。


 love100 回复于:2005-09-05 18:18:02

完全删除qmail
假如你的qmail安装在/var vpopmail安装在/home 下
则:
rm -rf /var/qmail
rm -rf /home/vpopmail
userdel alias 
userdel qmaild 
userdel qmaill 
userdel qmailp 
userdel qmailq 
userdel qmailr 
userdel qmails 
groupdel nofiles 
groupdel qmail

userdel vpopmail
groupdel vchkpw


 lcw410 回复于:2005-09-06 09:02:31

qmail的进程都有哪些啊,怎样关闭这些进程啊


 love100 回复于:2005-09-06 10:59:36

[root@mail china-lg.com]# ps -aux | grep qmail
qmails   24872  0.0  0.0  1540  376 pts/0    S    10:19   0:00 qmail-send
qmaill   24873  0.0  0.0  1520  448 pts/0    S    10:19   0:00 splogger qmail
root     24874  0.0  0.0  1512  320 pts/0    S    10:19   0:00 qmail-lspawn ./Maildir/
qmailr   24875  0.0  0.0  1500  336 pts/0    S    10:19   0:00 qmail-rspawn
qmailq   24876  0.0  0.0  1512  320 pts/0    S    10:19   0:00 qmail-clean
root     24888  0.0  0.0  1580  484 pts/0    S    10:19   0:00 /usr/local/bin/tcpserver -H -R -l 0 -t 1 -v -p -x /home/vpopmail/etc/tcp.smtp.cdb -u qmaild -g nofiles 0 smtp /var/qmail/bin/qmail-smtpd china-lg.com /home/vpopmail/bin/vchkpw /bin/true
root     24889  0.0  0.0  1516  452 pts/0    S    10:19   0:00 /var/qmail/bin/splogger smtpd 3
root     24891  0.0  0.0  1572  480 pts/0    S    10:19   0:00 /usr/local/bin/tcpserver -H -R 0 pop3 /var/qmail/bin/qmail-popup china-lg.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir
root     25450  0.8  0.3  7428 3880 pts/0    S    10:39   0:00 apf-qmail.pl 
kill -9 id


 zhaohu0769 回复于:2005-09-07 11:53:12

请求版主多搞点sendmail  FAQ集锦!!!谢谢


 winfox 回复于:2005-12-13 17:07:46

大家拿来探讨一下啊!支持!大家拿来探讨一下啊!支持!


 winfox 回复于:2005-12-13 17:08:45

大家拿来探讨一下啊!支持!大家拿来探讨一下啊!支持!


 惠繪洋 回复于:2005-12-16 09:29:14

好想各位能談談發信很快, 但收信很慢的原因, 而 qmail-qstat 往往會有幾百封信在等呢! 好像正幫別的地方發信, 而本qmail的信要等約一天才可以收到呢!! 請指教. 謝謝.


 蓝梦园长 回复于:2005-12-19 14:13:48

不错!


 蓝梦园长 回复于:2005-12-20 10:59:04

love100 我是无聊,我信箱无法给你发邮件,总是超时.
你最好用QQ与我联系一下,我的QQ是:116058315
告诉我一声你是谁就OK啦!
我有事情要与你谈,申请个QQ速度!


 beiersi 回复于:2006-01-05 15:30:06

前段时间参考xuki的qmail安装指南配置了一台qmail服务器,刚开始使用正常,运行一段时间以后突然不能收信了,用别的邮箱发信以后能收到发送失败的回复,内容如下:

Hi. This is the qmail-send program at xxx.com.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<[email]beiersi@xxx.com[/email]>:
Sorry, no mailbox here by that name. (#5.1.1)

--- Below this line is a copy of the message.

From: test <[email]test@hotmail.com[/email]> 
To: [email]beiersi@xxx.com[/email] 
Subject: hihihi 
Sent: 2006年1月5日 11:13:51 
hihihi

xxx.com是我的域名,[email]beiersi@xxx.com[/email]是我自己建的邮箱
看这个提示应该是找不到邮箱名字了,实在找不到是啥问题,于是就考虑重新添加另外一个虚拟域看看
于是就
vadddomain XXX.com 123456
结果提示:
Failure while attempting to remove_line() the locals file
Error. Failed to add domain to assign file
Error: Could not update file
无奈之下只好把相应的qmail和vpopmail目录删除,并清空vpopmail数据库,再次安装qmail+vpopmail,安装好了之后又能照常运行,但是好景不长,今天发现又出现同样的情况,仍然是提示邮箱不存在,vadddomain依然出错,我查看了vpopmail目录下的权限和组没有发现什么问题,后来甚至把domains目录设置chown nobody:nobody 属性设置为777也不行,查看了vpopmail.mysql也没发现用户和密码错误,各位大虾知道是什么问题吗?小人跪求解决办法

[ 本帖最后由 beiersi 于 2006-1-5 15:31 编辑 ]


 wp_210 回复于:2006-01-06 11:17:27

qmail+vpopmail+sqwebmail安装正常,但是用sqwebmail登陆的时候 所有的png图片都无法正常显示,全部图片成为红叉 不知道是什么原因 收发mail 没有问题


 mikebbs 回复于:2006-02-21 15:15:41

不错!!!喜欢

支持楼主的....
mail方面的,真的不错


 zhiming_yk 回复于:2006-02-23 19:59:19

你好,麻烦帮看一下我配置的qmail。里面的进程全都起来了。但是我用outlook客户端总是连不上。
这是qmail的启动情况
# qmailctl stat
/service/qmail-send: up (pid 1819) 492 seconds
/service/qmail-send/log: up (pid 1831) 492 seconds
/service/qmail-smtpd: up (pid 1817) 492 seconds
/service/qmail-smtpd/log: up (pid 1826) 492 seconds
messages in queue: 1
messages in queue but not yet preprocessed: 0


# vpopmailctl stat
/service/qmail-pop3d: up (pid 3933) 1 seconds
/service/qmail-pop3d/log: up (pid 1828) 526 seconds
/service/qmail-pop3ds: up (pid 1824) 526 seconds
/service/qmail-pop3ds/log: up (pid 1827) 526 seconds


 qmailer 回复于:2006-02-28 03:30:15

引用:
Qmail常见问题解决办法:



好东东啊
造福百姓啊

楼主还要再接再励
小民在此谢过啦!


 loky67 回复于:2006-03-01 11:15:01

支持!
获益良多!多谢!


 xxjoyjn 回复于:2006-04-05 16:02:16

好文章呀,支持,再支持!


 lll0024 回复于:2006-06-02 12:32:28

vmoduse -r [email]test@mail.bbx.cn[/email]
这个用户
使用后还是能收发别的domain.


 booker2688 回复于:2006-07-28 17:44:07

老兄:
   smtp的启动脚本是哪个文件?我用的是许靖 <Linux qmail安装指南> 版本2.9。现在对qmail不熟悉。不知道怎么找。


 太极球 回复于:2006-08-02 15:16:57

收下了,多谢!!!


 austin22 回复于:2006-09-19 22:19:52

我用的也是许靖 <Linux qmail安装指南> 版本2.9
第五节:安装vpopmail  TOP
#现在打上qmail的补丁:
cd /home/pkg/netqmail-1.05/netqmail-1.05
bunzip2 -c /home/pkg/qmail-toaster-0.7.2.patch.bz2 | patch -p0
make clean
make
到这里就是过不去,请编译过的指点!
提示:
=======================
make:*** [qmail-smtpd] Error 1
=======================


 xingrong_0598 回复于:2006-09-24 21:09:40

关于楼主文中有段:
6.装完qmail后,用本地的信箱或外面的信箱发信过来都显示错误: 
delivery 12: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/没有创建用户的Maildir目录.请记住,创建maildir目录的组和用户权限必须正确 
,我现在也是被这个问题难倒了,哪位前辈能够指点一下,这个Maildir是我们再添加用户时自已触发,自动生成的,还是什么时候生成这个Maildir的,把我弄得很晕,


 jood 回复于:2006-09-30 10:49:51

4 451 qq write error or disk full (#4.3.0)

通常产生这个可能有2个原因:(1)你的qmail queue所在的磁盘空间不足。(2)qmail-queue的权限设置不正确或者文件有问题。 


说说解决方法


 lyfp00 回复于:2006-10-23 18:15:08

引用:原帖由 love100 于 2004-12-23 09:51 发表
Qmail常见问题解决办法:
1.不能给sina发信

进入qmail/control创建helohost 
echo serverip >; helohost

2. |/usr/local/bin/autorespond 10000 5
|表示调用一个程序来处理该邮件这里是调 ... 


我按你的做时提示:
[root@localhost info]# touch -d '1 week ago'
touch: 缺少了文件参数
请尝试执行‘touch --help’来获取更多信息。
请问怎么会事啊


 Linux@初学者 回复于:2007-06-26 15:43:34

引用:原帖由 zjtrendy 于 2005-1-17 13:40 发表
增加两个:
1。错误信息:the smtp server reply:qq crashed (#5.1.1) 
  修改stmp启动脚本,改大smtp的softlimit
  
2.Sorry. Although I'm listed as a best-preference MX or A for that host,it isn't in ... 




改qmail源码>?
改完了重编译qmail?:roll::roll:


 Linux@初学者 回复于:2007-06-26 15:48:01

我改完了重编译后也不成啊




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=471475
转载请注明作者名及原文出处



收藏本页到: