Если я напишу сценарий PHP для подключения к SMTP-серверу (в моем случае это локально установленный Postfix) и отправлю электронное письмо, первый «полученный» заголовок в сообщении будет иметь вид:
Received: from [SERVER_IP] (SERVER_HOSTNAME [127.0.0.1]) by SERVER_HOSTNAME (Postfix) with ESMTP id D682A34381 for <TO_EMAIL>; Thu, 5 Mar 2009 17:25:18 +0000 (GMT)
Это потому, что PHP-скрипт доступен через браузер, а Apache привязан к SERVER_IP.
Однако, если я выполню тот же сценарий из CLI PHP, то вместо него появится первый «полученный» заголовок:
Received: from localhost.localdomain (SERVER_HOSTNAME [127.0.0.1]) by SERVER_HOSTNAME (Postfix) with ESMTP id AB51934381 for <TO_EMAIL>; Thu, 5 Mar 2009 17:18:01 +0000 (GMT)
Это потому, что PHP CLI вызывается обычным пользователем Linux (через cron).
Как я могу заставить PHP CLI быть привязанным к имени хоста / IP, чтобы при вызове пользователем через задание cron заголовок «полученный» отображал имя хоста / IP сервера вместо localhost.localdomain?
Примечание 1: имя хоста правильно задано в имени хоста --fqnd, / etc / hosts, / etc / sysconfig / network и / proc / sys / kernel / hostname
Примечание 2: Я использую Swift Mailer в PHP, хотя это, вероятно, не имеет значения.