Postfix SMTP 中继访问被拒绝

Postfix SMTP 中继访问被拒绝

我知道这个网站上已经有很多类似的查询,但我无法在其中找到适合自己的解决方案。我已为 smtp 配置了 postfix 版本 3.6.4。我需要它仅将来自 google 的邮件转发给收件人。但是当我尝试发送邮件时,我收到错误:

Jun  7 12:23:01 ubuntu-2gb-hel1-1 postfix/smtpd[20535]: connect from mail-wm1-f72.google.com[209.85.128.72]
Jun  7 12:23:01 ubuntu-2gb-hel1-1 postfix/smtpd[20535]: NOQUEUE: reject: RCPT from mail-wm1-f72.google.com[209.85.128.72]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-wm1-f72.google.com>

当我将 Google IP 地址(例如:209.85.128.0/24)添加到 mynetworks 部分时,一切都正常。但这并不方便,因为我不知道所有的 Google 地址。因此,我想限制通过域名 Google 访问(例如:mail-wm1-f72.google.com)。为了覆盖所有 google 子域,我使用了正则表达式,但它不起作用。有人能告诉我如何解决这个问题吗?

主配置文件

受信任的域

/.*\.google.com/

答案1

在配置文件“/etc/postfix/main.cf”中添加以下几行:

smtpd_restriction_classes = google_domains
google_domains = check_sender_access regexp:/etc/postfix/google_domains

smtpd_recipient_restrictions =
   ...
   check_helo_access regexp:/etc/postfix/google_domains
   check_client_access regexp:/etc/postfix/google_domains
   ...

创建文件 /etc/postfix/google_domains 并添加以下行:

/^.*\.google\.com$/   google_domains

重新加载 Postfix 以应用更改。

相关内容