如何在Debian中更改Exim4的primary_hostname?

一些远程SMTP服务器我试图传递邮件拒绝从我的服务器接受HELO:

504 5.5.2 <localhost>: Helo command rejected: need fully-qualified hostname

显然,我的Exim4服务器发送localhost作为其FQDN。 searchnetworking和一堆configuration文件,我知道在HELO期间作为FQDN发送的值是从primary_hostnameconfigurationvariables中提取的。

我的问题是:在Debian系统中更改这个variables的正确方法是什么? 我想我可以简单地对Exim4configuration文件中的值进行硬编码,但是恕我直言,如果该值自动对应于/etc/mailname或其他一些集中的名称configuration,它似乎更有意义。

我有一种感觉,我的问题的答案可以在Debian wiki的本文中find :

EHLO / HELO中Exim使用的名称是从configuration选项primary_hostname提取的。 Debian的exim4默认configuration不会设置primary_hostname 。 然后,Exim默认使用uname()来查找主机名。 如果该调用仅返回一个组件,则使用gethostbyname()或getipnodebyname()来获取标准主机名。

如果您的Exim HELO为localhost.localdomain,那么您很可能是由某些版本的Debian安装程序创build的错误configuration的/ etc / hosts。 在这种情况下,请修复/ etc / hosts。

不幸的是,我不熟悉Linux服务器pipe理知道这意味着什么这意味着:(

你的/ etc / hosts文件里至less应该有两条logging。 第一条logging应该是这样的forms:

 <IP_ADDRESS> <HOST_FQDN> <HOSTNAME> 

第二个应该是这样的forms:

 127.0.0.1 localhost 

您还需要确保您的/ etc / hostname文件包含服务器的FQDN,并且运行hostname -f返回您的服务器FQDN。 如果您确定所有这些都是正确的,并重新启动Exim,您应该开始正确地看到HELO。

如果您使用单个configuration文件,请将PRIMARY_HOST_NAMEvariables设置为所需的名称:

例如在/etc/exim4/exim4.conf中:

 PRIMARY_HOST_NAME = mybox.mydomain.com 

或者如果使用分割文件configuration,则在update-exim4.conf.conf中设置MAIN_HARDCODE_PRIMARY_HOSTNAME

为了安全起见,重新启动exim。

在安装exim4期间会提示主要主机名。 您可以运行该命令

 sudo dpkg-reconfigure exim4-config 

再次通过提示。

据我所知,如果你已经在使用“分割configuration”(在/etc/exim4/conf.d下有很多小文件),并且在出现提示时select坚持,那么dpkg-reconfigure不应该覆盖您现有的configuration更改,而不是它所提示的设置,但是,您应该像以前一样首先进行备份以确保安全。

在/ etc / hosts中添加相同的string后, hostname -f将返回您的FQDN

我有同样的问题。 我需要更改邮件主机名,因为有些邮件发送失败。 怀疑这个错误:

 host receiver.server.com [200.200.200.200]: 550 <[email protected]>: Sender address rejected: Domain not found 

所以我把它改成/etc/exim.config param primary_hostname

这个文件的一些代码:

 smtp_connect_backlog = 50 smtp_accept_max = 100 #primary_hostname = myhostname.com deliver_queue_load_max = 3 

在WHM转到Eximconfigurationpipe理器 – >高级编辑器

向下滚动,直到find“添加其他configuration设置”(一个大的蓝色button)并单击它。

在新行中,添加[primary_hostname] = [mydomain.com]

滚动到底部并点击保存。