Назад | Перейти на главную страницу

Postfix не определяет имя хоста или домен

У меня проблема с Postfix (на Centos 6.5), в результате чего я должен явно указать myhostname в main.cf, иначе локальная почта будет ретранслироваться через хост-ретранслятор.

Согласно Postfix main.cf: «По умолчанию используется полное доменное имя из gethostname ()».

Мой файл / etc / hosts:

127.0.0.1       localhost
10.0.0.3        server123.company.org server123

имя хоста и имя хоста -f возвращаются правильно.

Как я могу решить, почему это не работает?

Решено ... проблема заключалась в неправильной записи в / etc / sysconfig / network для HOSTNAME. Было установлено короткое имя вместо полного доменного имени. Исправлена ​​запись в этом файле и перезапущена сетевая служба.

Удалось проверить, что 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;
}