У меня есть веб-сервер LAMP, настроенный для обслуживания нескольких веб-сайтов. Каждый виртуальный хост имеет различные приложения PHP, в основном Wordpress.
Когда пользователи регистрируются на сайтах Wordpress, электронная почта отправляется через PHP через postfix, а затем в приемник. Проблема в том, что постфикс идентифицирует себя на удаленном сервере с содержимым / etc / hostname, которое не является полным доменным именем. Некоторые почтовые серверы отклоняют это сообщение и отбрасывают почту.
Кроме того, обратный путь устанавливается в один из доменов виртуального хоста, кажущийся случайным.
Я мог установить / etc / имя хоста для одного из доменных имен веб-сайта, но тогда электронные письма с других сайтов будут иметь неправильный сервер в заголовках, и это не устранит проблему с возвратом.
Возможно, связанный, apache2 говорит: не удалось определить полное доменное имя сервера "при запуске.
Как исправить это, чтобы каждый веб-сайт мог отправлять электронную почту, не раскрывая другие веб-сайты, размещенные на сервере?
Пример error:
Oct 15 20:29:32 Ubuntu-1204-precise-64-minimal postfix/smtp[17214]: CD087E00DF6: to=<*****@*******.**>, relay=spool.mail.gandi.net[217.70.184.6]:25, delay=0.29, delays=0.12/0/0.09/0.07, dsn=5.5.2, status=bounced (host spool.mail.gandi.net[217.70.184.6] said: 504 5.5.2 <Ubuntu-1204-precise-64-minimal>: Helo command rejected: need fully-qualified hostname (in reply to RCPT TO command))
Теперь я установил полное доменное имя в / etc / hosts и / etc / hostname и перезапустил apache2 и postfix, и он по-прежнему дает эту же ошибку. Я даже не знаю, где он все еще получает старое имя хоста, поскольку он больше не хранится нигде на диске.
Принятый ответ получил меня на полпути, спасибо. Чтобы каждый vhost отправил электронное письмо с правильным обратным путем, мне пришлось добавить такие разделы в конфигурации apache2 vhost:
<IfModule mod_php5.c>
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@domain.name"
</IfModule>