如何配置 myhostname 以与 Postfix 一起使用?

Joh*_*son 3 postfix hostname

我正在完成在我的服务器(Ubuntu 12.04 x64)上设置 Discourse 论坛的过程,并且在我必须配置邮件程序的地方陷入困境。

我正在按照 Discourse 的说明进行操作,但在尝试为 Mandrill 配置 postfix时遇到困难。据说可以通过键入来检查我的完全限定域名hostname -f

当我进入时hostname -f,我得到了localhost。据我所知,进入hostname -f应该返回mydomainname.com

当我刚刚输入时hostname,我知道mydomainname哪个是正确的,因为这是我将主机名设置为 in 的内容/etc/hostname

查看我的其他一些设置,我的/etc/hosts文件显示:

127.0.0.1       localhost mydomainname
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Run Code Online (Sandbox Code Playgroud)

在我的/etc/postfix/main.cf文件中,我是这样myhostname设置的:

myhostname = mydomainname.mydomainname.com

(应该是这个myhostname = mail.mydomainname.com吗?)

并且mydestination是以下内容:

mydestination = mydomainname.com, localhost, localhost.localdomain, localhost

我对配置主机名不太熟悉。我一直在阅读Postfix 的说明,但还没有弄清楚。

任何有关如何使其工作的帮助将不胜感激。谢谢。

Pot*_*thu 5

为电子邮件设置合适的 Ubuntu 服务器 (12.04.x) 涉及多个文件。这是目前在我的服务器中可用的列表。

  • /etc/hosts - 我的 Ubuntu 服务器中的这个文件有以下几行,以及其他几行

    127.0.1.1 myhostname.mydomainname.tld myhostname
    
    Run Code Online (Sandbox Code Playgroud)

    注意:请不要触摸包含127.0.0.1. 它可以在每次重新启动时由网络主机生成和/或更新。

  • /etc/hostname - 我的 Ubuntu 服务器中的这个文件有以下内容。

    myhostname
    
    Run Code Online (Sandbox Code Playgroud)
  • /etc/mailname - 我的 Ubuntu 服务器中的这个文件有以下内容。

    mydomainname.tld
    
    Run Code Online (Sandbox Code Playgroud)
  • /etc/postfix/main.cf - 我的 Ubuntu 服务器中的这个文件有以下几行,其中包括...

    myorigin      = /etc/mailname
    myhostname    = myhostname.mydomainname.tld
    mydestination = localhost, myhostname.mydomainname.tld
    
    Run Code Online (Sandbox Code Playgroud)

一旦上述所有文件都具有预期的内容,您可以运行以下命令让它们在发送电子邮件时一起工作...

$ sudo hostname -F /etc/hostname
$ sudo service postfix restart
Run Code Online (Sandbox Code Playgroud)

如果您有专门用于电子邮件的服务器,我建议您保留hostnameas mail. 否则,使用 anyhostname并像mydomainname.tld使用 Mandrill一样继续发送电子邮件。

确保即使重新启动,一切都按预期工作。您不希望您的虚拟主机在重新启动时覆盖任何文件,这可能会影响电子邮件的发送/接收。

我希望这有帮助。