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 来传送, 使用指定的 uid 和 gid, 并且由 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)
|