我试图将邮件传递给某些远程SMTP服务器,以拒绝从我的服务器接受HELO:
504 5.5.2 <localhost>: Helo command rejected: need fully-qualified hostname
显然,我的Exim4服务器localhost
以其FQDN 发送。搜索网络和一堆配置文件,我了解到在HELO期间以FQDN形式发送的值是从primary_hostname
配置变量中提取的。
我的问题是:在Debian系统中更改此变量的正确方法是什么?我想我可以简单地在一个Exim4配置文件中对一个值进行硬编码,但是恕我直言,如果该值自动地对应于/etc/mailname
某个或其他集中式名称配置,则似乎更有意义。
我觉得可以在Debian Wiki的以下文本中找到我的问题的答案:
Exh在EHLO / HELO中使用的名称是从配置选项中提取的
primary_hostname
。Debian的exim4默认配置未设置primary_hostname
。然后,Exim默认为uname()来查找主机名。如果该调用仅返回一个组件,则使用gethostbyname()或getipnodebyname()获取完全限定的主机名。如果您的Exim HELO为localhost.localdomain,则很可能是由某些版本的Debian安装程序创建的/ etc / hosts配置错误。在这种情况下,请修复您的/ etc / hosts。
不幸的是,我对Linux服务器管理还不够熟悉,无法确切地知道所有这些意味着什么:(
hostname -f
仍然报告“本地主机”。您的答案中有关/ etc / hosts的部分似乎有问题-应该是第一个记录是什么样的?