Postfix中的地址操作大全(1)
Postfix中的地址操作大全(1)
我用Postfix好长时间了,看到许多关于Postfix的知识点,我也想晒晒,就给大家讲个Postfix中的地址操作的问题吧。
1. 将地址改写为标准格式
在cleanup进程进行表查询之前,它首选请求trivial-rewrite进程将新邮件地址改写成标准的 user@fully.qualified.domain格式。改写的目的是为了减少查询表中的条目,从而提供查询的效率。trivial- rewrite进程可以实现以下的地址改写:
* 将包含源路由信息的地址如@hosta,@hostb:user@site写成user@site,因为postfix不支持包含源路由信息的地址格式。
* 将形如user%domain的地址改写成user@domain的形式。该特性可通过allow_percent_hack参数进行控制,其缺省值为yes。
* 将只包含user的地址改写成user@$myorigin。该特性可通过append_at_myorigin参数进行控制,其缺省值为yes。最好不要改动其缺省值,因为大多数的postfix进程更擅长处理地址形如user@$myorigin的邮件。
* 将形如user@host的地址改写成user@host.$mydomain。该特性可通过append_dot_mydomain参数进行控制,其缺省值为yes。
* 将形如user@site.的地址改写成 user@site,也即除去了最后的点号。
2. 规范地址映射
在cleanup进程将一封新邮件存入incoming邮件队列之前,cleanup进程将根据查询规范表来进行地址改写,从而使之更具可读性。主要是替换形如Firstname.Lastname 风格的地址以及清除无效的域。缺省postfix是不进行规范地址改写的,你可以通过指定canonical_maps参数的值来使其生效。如:
canonical_maps = hash:/etc/postfix/canonical
也可以分别为收件人和发件人地址分别指定不同的改写规范,这时参数sender_canonical_maps和recipient_canonical_maps的优先级比canonical_maps高。如:
sender_canonical_maps = hash:/etc/postfix/sender_canonical
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
3. 地址欺骗
就是将形如user@host.domain的地址改写成user@domain或user@other.domain, 好像是从其他的邮件服务器发出的一样。缺省该功能是被禁止的,可以用参数masquerade_domains使其生效如:
masquerade_domains = $mydomain
也可以通过masquerade_exceptions参数对特定的用户不进行地址欺骗,如:
masquerade_exceptions = root
注意:地址欺骗只对发件人地址有作用。
评论暂时关闭