Мне настроили веб-сервер ЛАМПЫ для обслуживания нескольких веб-сайтов. Каждый виртуальный хост имеет различные приложения PHP, главным образом Wordpress.
Когда пользователи подписываются под сайтами Wordpress, электронное письмо послано PHP до постфикса, и затем на получателе. Проблема состоит в том, что постфикс идентифицирует себя к удаленному серверу с содержанием/etc/hostname, который не является полностью определенным доменным именем. Некоторые почтовые серверы отклоняют это и почтовые возвраты.
Кроме того, обратный канал устанавливается на один из доменов хоста vitual, по-видимому наугад.
Я мог установить/etc/hostname на одно из доменных имен веб-сайта, но затем электронные письма с других веб-сайтов будут иметь неправильный сервер в заголовках, и это не устранило бы проблему обратного канала.
Возможно связанный, apache2 говорит, "не мог определить полностью определенное доменное имя сервера" на запуске.
Как я фиксирую это так, чтобы каждый веб-сайт мог послать электронное письмо, не показывая другие веб-сайты, размещенные на сервере?
Ошибка в качестве примера:
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))
Я теперь установил FQDN в/etc/hosts и/etc/hostname, и перезапустил apache2 и постфикс, и он все еще дает эту ту же ошибку. Я даже не знаю, где это все еще получает старое имя хоста от того, поскольку это больше не хранится нигде на диске.
Полное доменное имя должно идеально соответствовать обратной записи DNS для публичного IP-адреса вашего MTA.
main.cf:
myhostname = fully.qualified.domain.name
myorigin = /etc/mailname
Убедитесь, что / etc / mailname также имеет доменное имя.
# cat /etc/mailname
fully.qualified.domain.name
Тогда:
postfix reload
postconf -n # to show currently running configuration
Принятый ответ дал мне полпути, спасибо. Чтобы каждый vhost отправлял электронную почту с правильным путем возврата, мне пришлось добавить следующие разделы в конфигурации apache2 vhost:
<IfModule mod_php5.c>
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@domain.name"
</IfModule>