qmail技巧文章(1)
Qmail如何把该本地传送的邮件投递到其他主机
Qmail如何使一个用户能使用多个域 Qmail如何设置把无法识别接受者的邮件转给其他主机 Qmail如何设置接收发给其他主机的信件 Qmail如何做用户伪装 Qmail如何做域名伪装 Qmail如何设置邮件路由 Qmail如何设置一个简单的邮件列表 Qmail日志中为什么会出现"CNAME lookup failed temporarily" Qmail如何通过UUCP进行邮件外发 Qmail如何于procmail一起使用 Qmail如何设置一个虚拟域 1)在DNS中给disk.linuxaid.com.cn加了MX记录后,投递到linuxaid.com.cn的邮件都投递到磁盘服务器disk.linuxaid.com.cn,但是使用装了qmail的linuxaid.com.cn的本地用户user1发信给user2@linuxaid.com.cn的时候,linuxaid.com.cn会试图对信件进行本地传送,而不是发送出去,该如何解决。 1-1)从/var/qmail/control/locals文件里面删除linuxaid.com.cn,如果qmail-send进程还在运行的话,发送HUP信号给这个它。当时首先要确认disk.linuxaid.com.cn能收到发给linuxaid.com.cn的信。 2)运行qmail的机器linuxaid.com.cn又加入了一个域名virtual.com,user1想使用其他的虚拟域virtual.com,同时又想使linuxaid.com.cn和virtual.com上面的信件分开,如何做能解决这个问题而且不用另外开个帐号呢? 2-1)在control/virtualdomains中加入两行: virtual.com:user1-virtual linuxaid.com.cn:user1-linuxaid 同时在control/rcpthosts中加入virtual.com和linuxaid.com.cn。 如果qmail-send还在运行,发送一个HUP信号给它。 现在user1可以设置两个分开的.qmail-virtual-*和linuxaid-*文件。他甚至可以设置.qmail-virtual-default和.qmail-linuxaid-default。 3)如果我在运行qmail的linuxaid.com.cn主机上接收到无法识别接收者的邮件后,想把他发送给test.linuxaid.com.cn处理,该如何? 3-1)在~alias/.qmail-default中加入: | forward "$LOCAL"@test.linuxaid.com.cn 4)我有一台磁盘服务器,域名是disk.linuxaid.com.cn,但是我想让它能接收发送给linuxaid.com.cn的信件。我已经在DNS服务器上面把linuxaid.com.cn的MX记录指向disk.linuxaid.com.cn,如何才能让disk.linuxaid.com.cn把linuxaid.com.cn当成自己? 4-1)在/var/qmail/control/locals和/var/qmail/control/rcpthosts中添加linuxaid.com.cn,如果qmail-send进程仍然在运行,发送HUP信号给它。 5)比如test.linuxaid.com.cn上面的某个用户superuser想用superuser@linuxaid.com.cn而不是superuser@test.linuxaid.com.cn。 5-1)在环境变量中定义两个变量: MAILHOST=linuxaid.com.cn MAILUSER=superuser 为了重载用户的MUA自己补充的From语句,还必须在环境变量中加入: QMAILINJECT=f 以上方法用在Linux环境下面的一些不能修改用户信息的MUA上,如果是windows系统的MUA,那么可以很容易改变用户信箱名。 6)所有的用户都在test.linuxaid.com.cn那么当user1发信给user2的时候消息头部想显示成"From: user1@linuxaid.com.cn"和"To: user2@linuxaid.com.cn",不显示test。 6-1)echo linuxaid.com.cn > /var/qmail/control/defaulthost chmod 644 /var/qmail/control/defaulthost 7)比如我想把内部邮件服务器inside.linuxaid.com.cn上面的邮件全部转给能访问外部的邮件服务器outside.linuxaid.com.cn处理。 7-1)echo :bigbang.af.mil > /var/qmail/control/smtproutes chmod 644 /var/qmail/control/smtproutes 同时停止qmail-smtpd服务。 8)比如要建立一个叫linux-sos@linuxaid.com.cn的邮件列表,那么首先要有linux这个邮件用户,然后在这个用户的主目录(~linux)下面建立一个.qmail-sos的文件,把所有要发送的人加入到这个文件中就可以了。如果要更强大的功能,建议使用ezmlm等软件。 9)日志显示有邮件由于这个原因延迟发送,但是qmail为什么会进行CNAME查找? 9-1)SMTP标准不允许机器别名,所以qmail不得不对每个接受主机在DNS上进行CNAME查找,如果接受主机相关的DNS服务器停止工作,那么qmail将延迟发送该信件,不久再进行尝试。 10)比如我需要qmail把所有外发邮件通过uucp发送给我的upstream UUCP站点gonzo。 10-1)echo :alias-uucp > /var/qmail/control/virtualdomains 然后在~alias/.qmail-uucp-default中放入如下内容(只有一行): |preline -df /usr/bin/uux - -r -gC -a"${SENDER:-MAILER-DAEMON}" gonzo!rmail "($DEFAULT@$HOST)" 有些uucp软件可能需要你把-df改成-d。 如果qmail-send还在运行中,发送HUP信号给它。 11)在~/.qmail中加入 | preline procmail procmail可能不在缺省路径中,最好加上全路径。同时procmail缺省会尝试把信件发到/var/spool/mail/$USER,如果要解决这个问题,请参考INSTALL.mbox。 12)我想把所有发给virtual.com.cn的信件,包括root@virtual.com.cn和postermaster@virtual.com.cn以及其他邮件,都发送给user1,我该怎么做?我已经设置了MX记录。 12-1)在control/virtualdomains中加入: virtual.com.cn:user1 在control/rcpthosts中加入virtual.com.cn 如果qmail-send在运行中,发送一个HUP信号给它。 现在所有发送给virtual.com.cn的信件都发送给了user1,user1可以设置~user1/.qmail-default来获得所有的信件,也可以设置~user1/.qmail-info来获得发送给info@virtual.com.cn的信件。, 上一篇:qmail技巧文章(2) 下一篇:FreeBSD4.7+Qmail+…… 更多相关文章
|
推荐文章
精彩文章
|