Como configurar os emails do site apache / php / postfix ao usar vhosts?

1

Eu tenho um servidor da Web LAMP configurado para servir vários sites. Cada host virtual tem vários aplicativos PHP, principalmente o Wordpress.

Quando os usuários se inscrevem nos sites do Wordpress, o email é enviado pelo PHP até o postfix e depois para o receptor. O problema é que o postfix está se identificando no servidor remoto com o conteúdo de / etc / hostname, que não é um nome de domínio totalmente qualificado. Alguns servidores de email rejeitam isso e o email é devolvido.

Além disso, o caminho de retorno está sendo configurado para um dos domínios do host vitual, aparentemente aleatoriamente.

Eu poderia definir / etc / hostname para um dos nomes de domínio do site, mas os e-mails de outros sites teriam um servidor errado nos cabeçalhos, e isso não corrigiria o problema do caminho de retorno.

Possivelmente relacionado, o apache2 diz que "não foi possível determinar o nome de domínio totalmente qualificado do servidor" na inicialização.

Como faço para corrigir isso para que cada site possa enviar e-mails sem revelar os outros sites hospedados no servidor?

Erro de exemplo:

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))

Agora eu configurei o FQDN em / etc / hosts e / etc / hostname, e reiniciei o apache2 e o postfix, e ele ainda dá o mesmo erro. Eu nem sei onde ele ainda está recebendo o antigo nome do host já que ele não está mais armazenado em disco.

    
por Alistair Buxton 14.10.2012 / 04:23

2 respostas

1

O FQDN deve idealmente corresponder à entrada de DNS reverso para o endereço IP público do seu MTA.

main.cf:

myhostname = fully.qualified.domain.name
myorigin = /etc/mailname

Certifique-se de que / etc / mailname também tenha o nome de domínio.

# cat /etc/mailname
fully.qualified.domain.name

Então:

postfix reload
postconf -n # to show currently running configuration
    
por Marcin Kaminski 18.10.2012 / 01:10
1

A resposta aceita me pegou no meio do caminho, obrigado. Para fazer com que cada vhost envie e-mail com o caminho de retorno correto, tive que adicionar seções como essa nas configurações vache do apache2:

<IfModule mod_php5.c>
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f [email protected]"
</IfModule>
    
por Alistair Buxton 19.10.2012 / 22:16