Postfix中的地址操作大全

运维 系统运维
Postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。本文就来说说Postfix中的地址操作有哪些。

我用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

  注意:地址欺骗只对发件人地址有作用。

#p#

  4. 虚拟地址映射

  在运用了规范地址映射和地址欺骗之后,cleanup将使用虚拟表映射将邮件重定向到所有的收件人。注意,该操作仅仅作用于信头上的收件人地址。这样,我们就可以将发送到虚拟域的邮件投递到真实用户的邮箱。系统的别名数据库同样可以起到相同的作用。缺省该功能是被禁止的,可以用参数 virtual_maps使其生效,如:

  virtual_maps = hash:/etc/postfix/virtual

  5. Relocated数据库查询

  Relocated表格提供如何将邮件发送给在系统中没有帐号的用户。缺省该功能是被禁止的,可以用参数relocated_maps使其生效,如:

  relocated_maps = hash:/etc/postfix/relocated

  6. 别名数据库查询

  当邮件在本地投递时,local投递代理进程会在别名数据库(linux下为/etc/aliases)中查询收件人的别名。该操作不会作用于邮件信头中的地址。可以用alias_maps指定使用的别名数据库。缺省地,该功能是有效的,如:

  alias_maps = hash:/etc/aliases

  可以通过alias_database参数控制别名数据库的路径,如:

  alias_database = hash:/etc/aliases

阅读完上面文章,有没你感兴趣的Postfix地址操作,希望对大家有帮助!

【编辑推荐】

 

 

责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-01-19 12:00:30

Postfix地址

2011-01-18 19:11:26

Postfix命令行

2011-02-21 13:08:37

postfix配置

2011-01-19 09:16:48

Postfix配置

2011-01-18 15:00:17

Postfix安装

2020-10-27 11:35:31

PythonRedis数据库

2011-01-18 18:52:14

Postfix结构

2010-05-20 12:31:37

MyEclipse6.

2009-06-04 20:41:27

Eclipse插件介绍Eclipse插件下载

2011-06-21 13:23:20

Qt 版本

2011-01-19 09:55:27

postfix

2011-02-21 11:14:47

Postfix配置

2011-01-19 09:57:48

Postfix控制

2011-01-19 13:39:38

Postfix邮件监控

2010-06-02 18:17:09

Postfix邮件

2010-06-01 13:20:45

2010-06-02 17:36:31

postfix概述

2010-08-09 16:51:24

DB2数据库

2011-01-20 09:42:29

postfix邮件

2011-02-21 08:50:50

点赞
收藏

51CTO技术栈公众号