在 Postfix 中限制用户只能访问特定域

在 Postfix 中限制用户只能访问特定域

我有一份用户列表和域列表。 中的所有用户user_list只能向 中列出的域发送邮件allow_urls

用户列表

/^user1@*/   OK
/^user2@*/   OK
/^user3@*/   OK
/.*@*/ REJECT 5.4.3. Sorry..

allow_urls

domain1.ru limited_class
domain2.ru limited_class

我在 main.cf 中定义了这些列表,但似乎不起作用。任何用户都可以发送到任何域。

smtpd_restriction_classes = limited_class
limited_class = check_sender_access regexp:/etc/postfix/border/user_list, reject
smtpd_sender_restrictions =  check_recipient_access hash:/etc/postfix/border/allow_urls

我究竟做错了什么?

答案1

你没有做错什么。你配置的限制是为了传入邮件,其中传入表示从“外部”发送。

当你现在说“每个用户都可以发送...”时,这是正确的。你不能在发送到外部世界。

如果这不能回答你的问题,那么请重新思考你的问题,以表达你的真正意思。或者更好的答案是:你想实现什么?你只是说它不起作用,而没有具体说明什么

答案2

下面是正确的解决方案

用户列表

/^user1@*/   limited_class
/^user2@*/   limited_class
/^user3@*/   limited_class
/.*@*/ REJECT 5.4.3. Sorry..

allow_urls

domain1.ru OK
domain2.ru OK

主配置文件

smtpd_restriction_classes = limited_class
limited_class =  check_recipient_access hash:/etc/postfix/border/allow_urls reject
smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/border/user_list 

相关内容