【问题标题】:Linux postfix won't send to local domainLinux postfix 不会发送到本地域
【发布时间】:2009-04-17 18:24:55
【问题描述】:

我认为这个问题的症结在于我是postfix 新手,但这里是。

我在 1&1 VPS 帐户上使用 postfixsendmail 从网络服务器发布消息(通过 PHP;联系表格、密码重置等)。它工作正常,除了邮件无法发送到本地域。也就是说,如果主机是 example.com,则根本不会传递到 x@example.com 的任何消息。

我看到了一些建议,这是因为服务器识别出邮件正在发送给自己,并使用了出站 SMTP 方法的快捷方式。麻烦的是,我们正在使用 1&1 的电子邮件管理器来分配转发地址,因此将 x@example.com 重定向到 x 的服务器帐户不适合我们的情况(通过主机的 Web 界面,我们可以将 x@example.com 设置为转发到 x@gmail.com,这就是我们正在做的)。

感谢您的帮助。

【问题讨论】:

  • 您使用的是 postfix 还是 sendmail?你两个都提到了。
  • 好问题;这证明了我过去有多少避免使用电子邮件系统。我正在使用 sendmail,但如果 postfix 守护程序没有运行,sendmail 不会蹲下(它只是排队,直到守护程序再次运行)。
  • 你可以运行 sendmail Postfix,不能同时运行。但是,Postfix 包含一个名为“sendmail”的程序,用于将内容添加到本地传出队列。

标签: email postfix-mta mx-record


【解决方案1】:

除了不清楚你是在运行 postfix 还是 sendmail(你不能同时运行,它不起作用),你也不清楚你想要“example.com”的电子邮件在哪里去。

如果您希望将其交付到该计算机上的本地帐户,那么您必须告诉 postfix(假设您确实在运行 postfix)您是 example.com 的端点交付。您可以在 /etc/postfix/main.cf 文件中执行此操作。我忘记了选项的确切名称,但是当你看到它时很明显。

然后,如果您希望将特定地址转发到其他地方,您可以在 /etc/postfix/aliases(有时是 /etc/aliases,取决于设置)或 /etc/postfix/virtual 中转发它们。更新该文件后不要忘记运行“postmap /etc/postfix/aliases; postfix reload”。

【讨论】:

  • 为我的困惑道歉,但很明显有人会误认为他们正在使用哪个系统。为什么每个 Linux 邮件服务器都包含一个sendmail 程序?我会试试postmap 练习。
  • 不幸的是,当“sendmail”是唯一的程序时,很多代码都假设调用“/usr/lib/sendmail”是发送邮件的方式。所以 postfix 和其他人为此提供了它。
  • 这是我听到这种情况的第一个合理解释;对于不知情的人来说非常不幸。仍在通过 postmap 破解,到目前为止还没有运气。
  • 我说得太早了。特别是我的文件是 /etc/postfix/virtual,正如你所提到的,但看起来在 /etc/postfix/virtual 被附加到 /etc/postfix/main.cf 的 virtual_alias_maps 参数中之前,事情不会起作用。
【解决方案2】:

【讨论】:

  • 如果我们的电子邮件地址未与用户帐户关联,这将不起作用,对吗?我们是否需要创建用户来关联每个收件箱地址,然后在他们的主目录中创建一个 .forward 文件?
  • 你可以创建一个别名文件而不是创建用户
猜你喜欢
  • 1970-01-01
  • 2018-11-11
  • 2014-07-02
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
相关资源
最近更新 更多