我知道这个网站上已经有很多类似的查询,但我无法在其中找到适合自己的解决方案。我已为 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 以应用更改。