我遇到的一个需要地址伪装的例子是,一个应用软件需要频繁在用户之间发送邮件,公司的邮件服务器要求身份认证,而该软件不支持,于是配置了一个内部邮件服务器作为该软件要求的SMTP服务器。但是问题又来了,如果发件人地址属于公司的邮件地址,则邮件回被退回,仍旧报告发件人需要身份验证。于是想到了将发件人地址伪装。
那么何为邮件的地址伪装呢?地址伪装只伪装邮件的发送者部分。凡是转发邮件的发送者地址属于"本地域"(不包含"@域名"只有用户名的地址,或者由 class{w})或者包含在 MASQUERADE_DOMAIN 的定义当中,则将发送者地址伪装为 MASQUERADE_AS 定义的地址。例如:采用如下配置后,user1@domain1.com 发送给 user2@domain1.com 的邮件,被重写为由 user1@domain2.com 发送给 user2@domain1.com;同样根据定义,本地域发出的邮件,也要将发送者的邮件地址写为MASQUERADE_AS 定义的地址,即 @domain2.com。配置如下:
FEATURE(masquerade_envelope) MASQUERADE_DOMAIN(domain1.com) MASQUERADE_AS(domain2.com)
FEATURE(masquerade_envelope) 很重要。如果没有定义该 Feature,则只修改邮件 header 部分的 From 地址,而不修改信封地址,邮件回复仍然回复到伪装前的地址。
常用的几个伪装规则:
MASQUERADE_AS(domain2.com) MASQUERADE_DOMAIN(domain1.com) MASQUERADE_DOMAIN_FILE(`filename') FEATURE(allmasquerade) FEATURE(masquerade_entire_domain) MASQUERADE_EXCEPTION(`host.domain1.com') EXPOSED_USER(`root majordomo') EXPOSED_USER_FILE(`filename') FEATURE(masquerade_envelope)
关于地址伪装的几个重要参考:
Copyright © 2006 WorldHello 开放文档之源 计划 |