Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->网络应用 ->邮件服务器 ->Qmail ->Life with qmail -- 中文版
  相关分类: 
Exchange Server
IMail
Mdaemon
Qmail
  站内搜索: 
热门文章排行
热门文章排行 Life with qmail -- 中文版(05-28)
Linux qmail安装指南 2.9(05-28)
用Linux作邮件服务器(05-28)
邮件系统postfix安装与配置(下)(05-28)
中小规模POSTFIX邮件系统的安装(05-28)
精采文章排行
精采文章排行 Qmail系统下实现删除定期不使用的帐(05-28)
MailDrop 域过滤规则和单用户过滤规(05-28)
如何一次创建大量用户(05-28)
基于FreeBSD和Postfix的邮件系统与邮(05-28)
vpopmail+spamassassin+clamscan(05-28)
  ·Qmail系统下实现删除定期不使用的帐户·如何一次创建大量用户·vpopmail+spamassassin+clamscan·基于FreeBSD和Postfix的邮件系统与邮件列·Tmail 安装文档·Linux系统中设置Sendmail 防御垃圾邮件实·在RHEL 4 上配置全功能的Postfix 服务器·Qmail安装的前提准备·Sendmail 8.9.3中的Mail Relay规则简介

Life with qmail -- 中文版

作者:Webmaster   来源:Linuxdby.com   点击:   日期:2007-05-28 [收藏] [投稿]

  IE是否经常中毒?推荐您

  echo ":smtp-server.cinci.rr.com" > /var/qmail/control/smtproutes  

smtproutes 文件可以提供更多的路径选择功能, 请参考qmail-remote 的man 帮助文档.

3.3. 多主机名

如果你的主机名已知配置了多个名字, 例如, 所有的来自user@host1.example.com 的地址也可以被写成 user@example.com 或者 user@mail.example.com, 那么你就必须告诉 qmail 哪一个地址是它应该本地传送的地址, 哪一个地址是它应该接受的远程主机发送的地址.

如果要这样作, 只要把所有的名字加入下面两个控制文件就行了:

  • rcpthosts, 这个文件通知 qmail-smtpd 接收这个主机可以接受的地址. 还有
  • locals, 这个文件通知 qmail-send 哪些地址是本地传送地址.

给 qmail-send 发送一个HUP(挂起)信号来通知它重新读取 locals文件. 如果你使用的是本文的 qmailctl 脚本, 那么运行下面的命令就可以了:

    qmailctl reload

3.4. 虚拟域

虚拟域和上节提到的多主机名类似, 不过这里面有一些很重要的不同之处. 首先如果 example.net 是 virtual.example.net 虚拟域的宿主主机, 那么一个发送给 joe@virtual.example.net 的邮件将会被发送给即使是同一个邮箱的 joe@example.net, 这里虚拟域的名字空间是冲突的.

使用 qmail, 虚拟域将在 virtualdomains 文件里面配置, 文件内由型如下面这行的条目构成:

    user@domain:prepend

qmail 转换 user@domain prepend-user@domain 并且将这个转换后的名字作为本地域一样对待. user@ 这个部分是可选的, 如果缺少这个部分, 这个名字将匹配所有 @domain 域下面的地址.

回到上文的 example 剧情里面, 如果 example.net 邮件管理员希望创建 virtual.example.com 虚拟域, 并且将这个域置于用户 john 的管理之下, virtualdomains 文件下面的虚拟域条目应该这样写:

    virtual.example.com:john

这样, 发往 joe@virtual.example.com 的邮件将会被修改为发往 john-joe@virtual.example.com , 然后进行本地传送. 更多信息, 请参见 .qmail 小节, 以及 扩展地址 细目. 那里将介绍 john 如何管理他的虚拟域.

使用多主机名的时候, 所有的虚拟域都必须在rcphosts列出, 这样 qmail-smtpd 才会知道那些地址的邮件才应该被接受. 但是不像多主机名方式, 虚拟域不可以在locals里面设置相应条目.

修改 virtualdomains文件之后, 发送给 qmail-send 一个 HUP (挂起) 信号, 通知它重新读取配置文件. 如果你使用本文的 qmailctl 脚本, 你可以运行如下命令:

    qmailctl reload

同时, 不要忘了在 rcpthosts 里面增加虚拟域条目.


注意: 必须设置域名服务器(DNS)的邮件交换器(MX)记录, 以使虚拟域指向正确的邮件服务器. 这是名字服务器管理员的工作, 超出了本文讨论的范围.

3.5. 别名

qmail的标准别名机制是由qmail的本地传送机制自然派生出来的.qmail-local 试图传送地址为 localpart@host 的邮件给本地叫做 localpart 名字的用户. 如果没有匹配这个名字的用户存在, 邮件将会被发送给别名 alias 用户, 别名用户是qmail系统里面通常主目录位于 /var/qmail/alias 的伪用户.

举例, 如果你想要创建一个叫做 info@example.com 的别名, 这个别名用户将把上文收到的所有无主邮件转发给用户 tom, 在我们举例的 example.com 上, 这样作的方式是: 作为 root 用户, 运行下面的命令:

    echo \%26amp;tom > /var/qmail/alias/.qmail-info

.qmail 小节, 以及 扩展地址 细目介绍了如何创建 .qmail文件, 这些文件确定了那些别名存在, 以及如何处理哪些发给他们的邮件的.

附录 新手常见问题 介绍了两个关于别名应用的复杂案例. 那些别名使用了大写字母和小数点("."), 以及 .qmail 文件的 man 手册页面, 其中包含了完整的关于 .qmail 文件用法的文档.

注意由于别名在 qmail 里面的实现方式, 别名是不能够优先与一个已知用户的传送的. 例如, 如果 rachel 是一个普通用户, 那么~alias/.qmail-rachel 别名是无效的.

fastforward 软件包另外提供了一个可行的别名机制, 它将多个别名放入单独一个和Sendmail别名数据库兼容的文件里面.

下一节, qmail-users, 描述了其他实现别名的机制.

3.6. 关于 qmail-users

qmail-users 是一个分发地址给用户的系统. 由 /var/qmail/users 下的一系列文件构成. assign 文件是一个分配表. 有两种分配表的格式: 单体方式和通配符方式.


注意: assign 文件包含了一系列分配表, 每行一个, 后面接一个包含了一个单独的小数点(.)的行. 如果你手动创建assign文件, 不要忘记小数点那一行.

3.6.1. 单体分配表

一个单体分配表看起来是这个样子的:

=address:user:uid:gid:directory:dash:extension:

这个表的含义是: 作为 address 地址接收的邮件将会被使用用户 user 来传送, 使用指定的 uidgid, 并且由 directory/.qmaildashextension 这个文件决定邮件如何被传送.

3.6.2. 通配符分配表

通配符分配表看起来是这个样子的:

+prefix:user:uid:gid:directory:dash:prepend:

这个表的含义是: 作为 prefixrest 地址里面匹配的邮件地址接收的邮件, 将会被使用用户

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 1415 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 下一页

上一篇:Postfix Ecartis HOWTO - 集成ecartis + Postfix   下一篇:Maildrop的若干常见问题集锦(FAQ)
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·MailDrop 域过滤规则和单用户过滤规则对

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。