Как настроить апача / php / снабжают постфиксом электронные письма веб-сайта при использовании vhosts?

Мне настроили веб-сервер ЛАМПЫ для обслуживания нескольких веб-сайтов. Каждый виртуальный хост имеет различные приложения 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 и постфикс, и он все еще дает эту ту же ошибку. Я даже не знаю, где это все еще получает старое имя хоста от того, поскольку это больше не хранится нигде на диске.

2
задан 15 October 2012 в 22:33

2 ответа

Полное доменное имя должно идеально соответствовать обратной записи 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
0
ответ дан 15 October 2012 в 22:33

Принятый ответ дал мне полпути, спасибо. Чтобы каждый vhost отправлял электронную почту с правильным путем возврата, мне пришлось добавить следующие разделы в конфигурации apache2 vhost:

<IfModule mod_php5.c>
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@domain.name"
</IfModule>
0
ответ дан 15 October 2012 в 22:33

Другие вопросы по тегам:

Похожие вопросы: