我在Postfix(在Centos 6.5上)有一个问题,我必须在main.cf中明确地设置myhostname,否则本地邮件将通过中继主机中继。
根据Postfix的main.cf:“默认是使用来自gethostname()的完全限定的域名。”
我的/ etc / hosts文件是:
127.0.0.1 localhost 10.0.0.3 server123.company.org server123
主机名和主机名-f正确返回。
我该如何解决为什么这不起作用?
解决…问题是在/ etc / sysconfig /networking的HOSTNAME不正确的条目。 这被设置为简称,而不是FQDN。 修复该文件中的条目并重新启动networking服务。
能够检查gethostname()通过以下testing程序检索完整的主机名:
#include <stdio.h> #include <unistd.h> #include <limits.h> int main(int argc, char *argv[]) { char hostname[HOST_NAME_MAX]; if (gethostname(hostname, sizeof hostname) == 0) puts(hostname); else perror("gethostname"); return 0; }