我在使用 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
hostname 和 hostname -f 正确返回。
我该如何排除其故障?
答案1
已解决... 问题是 /etc/sysconfig/network 中 HOSTNAME 的输入不正确。它被设置为短名称而不是 FQDN。修复该文件中的条目并重新启动网络服务。
能够通过以下测试程序检查 gethostname() 是否检索完整主机名:
#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;
}