我正在尝试设置单个服务器来从单个域发送电子邮件,但我无法识别这些 Postfix 设置的正确值。
mydomain = example.com
myhostname = example.com
myorigin = $mydomain
mydestination = $example, localhost.$example, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
有人可以解释一下以便我知道应该将它们设置为何值吗?
脚本似乎在运行时添加了类似的东西$mydomain
。这似乎有效(电子邮件来自[电子邮件保护]),但我不愿意使用我不理解的参数值。
答案1
对你来说很好。你应该谨慎使用你不理解的参数。这是大多数控制面板软件的缺陷。大多数人开始使用他们不理解的东西。
您的 postfix 应该在 main.cf 文件中直接附带了大量文档和注释,如果没有,请找到一个带有这些文档和注释的原始版本,因为该文件中的文档非常棒。幸运的是,Postfix 有一些非常好的默认设置,您不需要做太多事情就可以进行基本设置。所有这些实际上都取决于您要做什么,因此我将按照您的要求解释每个参数的使用方式。
- mydomain 和 myhostname- 据我所知,这些实际上并不是直接使用的,它们更像是稍后可以在配置文件的其他部分使用的变量。如果我没有执行虚拟域托管之类的操作,我通常会尝试将机器的主机名设置为合理的名称,然后让它们为我定义。
- 肌源- 这是将放入 Received 标题行中的内容,而且如果您未指定完全合格的发件人地址,它将用作外发电子邮件的域。因此,如果您将其设置为 $myhostname,您的用户名是 xeoncross,并且您使用邮件程序或其他程序发送消息,则它将具有 xeoncross@yourhostname 的发件人地址。
- 中继主机- 这是 SMTP 的精华部分。如果您不了解 MX 记录是什么,并且对在 Internet 上创建服务器感兴趣,我建议您阅读 O'Reilly 的《DNS & Bind》的前几章,以了解它的工作原理。简而言之,默认情况下,您发送给[电子邮件保护]将根据 theirdomain.com 的 MX 记录发送,如果您没有将中继主机设置为某些内容,则它们将直接从您正在配置的服务器发送。这可能会或可能不会起作用,具体取决于您的网络设置、ISP 等。如果您想通过本地 SMTP 服务器中继该电子邮件,您可以将中继主机设置为该服务器的主机名,然后您的 postfix 服务器将“中继”到该服务器,然后将其发送到最终目的地。
- 我的网络- 这将配置 postfix 以从您在此处指定的任何网络接收邮件并将其转发到其他域。它使用 CIDR 表示法,如果您不了解它,您可能也应该阅读一下。基本上,127.0.0.1/8 表示从机器上的本地接口接受邮件进行中继,这最初可能是最安全的。如果您以后需要允许网络上的其他机器通过这台机器中继邮件,那么您可以将其设置为 10.0.0.0/24 或甚至 abc0/24,其中 abc 是您的 IPv4 网络块。
- 邮箱大小限制- 您可以限制邮箱的大小。如果您控制服务器并拥有现代磁盘,并且并不真正关心配额等,只需将其设置为 0 以表示“无限制”。
- 收件人分隔符- 这是我的经验不足的地方,所以其他人应该帮助您。基本上,这是一种允许用户在其帐户上执行操作的方式。因此,如果将其设置为“+”,则计算机上的本地用户可以通过让人们向 xeoncross+foo@yourhostname 发送电子邮件来执行操作。自从 qmail 问世以来,我就再也没有使用过这些东西,而且我几乎不知道它们的作用。您可能可以忽略它,如果您需要执行任何特殊操作,只需使用 procmail 或 maildrop 即可。
- inet_接口- 这指定了 Postfix 应监听您机器上的哪些接口来接收电子邮件。如果您熟悉 Apache 的配置,它类似于 Listen 指令。
答案2
所有 Postfix 配置参数都记录在 postconf(5) 中。
如果你喜欢在网上阅读,http://www.postfix.org/postconf.5.html拥有全部信息。 http://www.postfix.org/postconf.5.html#mydomain将跳转到手册中 mydomain 的条目。
祝你好运。