我使用来自Debian7的后缀2.9.6。定义了一些虚拟域,所有的工作都像预期的一样好。
现在,如果来自同一个域,或者发件人是sasl_authenticated (来自同一服务器上的其他托管域)或来自一个白色列表域(大约2-3个域),则我想限制我的某个域接收传入的电子邮件。
在后缀中,我只看到了sender_restrictions和recipient_restriction,但是如何同时控制接收者/发送者呢?
发布于 2015-03-25 14:30:13
我不认为你能做到这一点,仅使用后缀。查看一下博士后,您可以在那里设置规则集如下:
&&TO_PROTECTED_DOMAIN { recipient_domain=my_protected_domain.tld; };
&&FROM_WHITELIST_DOMAIN { sender_domain=my_protected_domain.tld; \
sender_domain=whitelisted1.tld; \
sender_domain=whitelisted2.tld; \
};
id=PD_01; &&TO_PROTECTED_DOMAIN; sasl_method =~ (LOGIN|PLAIN); action=DUNNO
id=PD_02; &&TO_PROTECTED_DOMAIN; &&FROM_WHITELIST_DOMAIN; action=DUNNO
id=PD_03; &&TO_PROTECTED_DOMAIN; action=REJECT You're not permitted sending to this domain.发布于 2015-03-25 23:46:09
后缀具有称为SMTPD限制类的特性。但这不方便,就像用if-then-else编写一些ACL一样。为此,您可以使用博士后,如托马斯的回答或policyD
在这里你输入了main.cf
# define one restrictio class, let's name it 'specialdomain'
smtpd_restriction_classes = specialdomain
# define the restriction for this class
specialdomain =
check_sender_access hash:/etc/postfix/specialdomain2 # permit sender same domain
permit_sasl_authenticated # permint sasl_authenticated
check_sender_access hash:/etc/postfix/whitedomain # permit whitelisted domain
reject # otherwise reject
smtpd_recipient_restrictions =
check_recipient_access = hash:/etc/postfix/specialdomain
... other restriction ...地图
# /etc/postfix/specialdomain
example.com specialdomain
# /etc/postfix/specialdomain2
example.com OK
#/etc/postfix/whitedomain
example.net OK
example.org OK首先,后缀检查是否在/etc/postfix/specialdomain中列出收件人,如果是,则应用main.cf的specialdomain参数中定义的限制。
specialdomain限制有几个允许电子邮件的参数。有两个check_sender_access来检查发件人域是相同的还是已经白化的。还有permit_sasl_authenticated允许由SASL认证的用户。否则就拒绝它。
https://serverfault.com/questions/678156
复制相似问题