.png)
Когда я настраивал VPS, я установил имя "main", поэтому в обоих файлах /etc/hosts и /etc/hostnames была одна запись (которая была "main"). Поэтому я настроил доступ root ssh и ввел "hostname", и он выдал мне "main". То же самое, когда я ввел "hostname -f".
Ну, я пытаюсь настроить Exim4 для отправки почты из моего приложения Django (мне нужно только отправлять, а не получать) и я добавил следующее в /etc/hosts
.
127.0.1.1 main.mydomain.com main
<myip> main.mydomain.com main
Затем я выполнил service hostname restart
и hostname -f
только вернулся main
. Я даже перезагрузился (чего я стараюсь избегать), и он все равно возвращается main
. Не уверен, почему это так... Сами файлы показывают мои новые записи, но я не могу заставить их измениться, хоть убей hostname
.hostname -f
Я предполагаю, но не уверен на 100%, поэтому, когда я использую команду, я не получаю письмо на (слишком много писем?). Если нет абсолютной необходимости настраивать имена хостов для использования exim, я бы хотел этого избежать, потому что это вызвало у меня такую головную боль.echo test message | mail -s test [email protected]
[email protected]
Любая помощь сделает меня вечно благодарным за вашу выдающуюся работу.
решение1
Чтобы задать доменное имя, можно воспользоваться одноименной программой domainname
:
sudo domainname example.com
Чтобы запросить фактически установленное значение, вызовите его без параметров.
Также добавьте необходимость запуска hostname.sh
скрипта (зависит от ОС), чтобы изменения вступили в силу:
/etc/init.d/hostname.sh
В Debian и производных также есть , /etc/mailname
который должен содержать домен отправителя по умолчанию для исходящих писем.
Я не могу сделать заявление по поводу Exim, но думаю, что значения по умолчанию в exim для host- и domainname должны указывать на настройки ОС.
Ссылка на страницу руководства hostname:
Полное доменное имя
С помощью этой команды вы не можете изменить FQDN (возвращаемое hostname --fqdn) или доменное имя DNS (возвращаемое dnsdomainname). FQDN системы — это имя, которое resolver(3) возвращает для имени хоста.
Технически: FQDN — это имя, которое getaddrinfo(3) возвращает для имени хоста, возвращенного gethostname(2). Имя домена DNS — это часть после первой точки.
Поэтому это зависит от конфигурации (обычно в /etc/host.conf), как вы можете это изменить. Обычно (если файл hosts анализируется до DNS или NIS) вы можете изменить это в /etc/hosts.
решение2
Если почта отправляется через postfix, то вам также следует отредактировать, /etc/postfix/main.cf
чтобы указать правильное значение дляmyhostname = xyz