Postfix:根据用于访问服务器的地址设置自定义 SMTP 横幅

5 smtp postfix hostname smtpd

Postfix 参数smtpd_banner设置服务器的 SMTP 问候横幅文本。默认设置是:

smtpd_banner = $myhostname ESMTP $mail_name
Run Code Online (Sandbox Code Playgroud)

我的邮件服务器分配有多个唯一的 IP 地址,每个域分配一个 IP 地址来托管电子邮件。换句话说,是这样的:

  • 203.0.113.1为了example1.com
  • 203.0.113.2为了example2.com
  • 203.0.113.3为了example3.com

想要发送电子邮件的发送服务器将使用和user@example2.com访问该服务器。example2.com203.0.113.2

我希望 SMTP 横幅能够反映用于访问邮件服务器的域。例如,某人使用example2.com203.0.113.2应该看到 SMTP 横幅访问服务器:

example2.com ESMTP Postfix
Run Code Online (Sandbox Code Playgroud)

$myhostname使用其他域或 IP 地址进行访问的任何人都应该看到打印在默认设置中的相应域。

这对于 Postfix 是否可行,最好不要运行多个 Postfix 实例,如果可以,如何实现?

Cra*_*son 5

该参数只能设置一次,因此您将无法动态更改它,但是您可以在 Postfix 的master.cf文件中覆盖它,如SF 答案中所述。

唯一的方法(据我所知)是按照您的建议运行多个 Postfix 实例,但是为了 SMTP 横幅,我个人认为这是矫枉过正。