Linux sendmail erro “usuário desconhecido” - e-mail simples de um formulário php

2

Eu configurei um servidor web do ubuntu, e preciso ser capaz de enviar e-mails a partir de formulários via php. O servidor hospeda vários sites e esse problema persiste em todos eles.

Quando eu tenho um formulário de envio para um nome de domínio não hospedado no servidor (ou seja, gmail, yahoo, etc), o e-mail envia do formulário sem nenhum problema.

Quando eu envio o formulário para um usuário@domínio.com hospedado no servidor local, recebo um erro "desconhecido do usuário". Isso ocorre porque eu não criei as contas no servidor, mas eu não pretendo ... o email está hospedado em outro lugar [gmail].

Este é um exemplo do que estou vendo em / var / mail / www-root ...

The original message was received at Sun, 17 Oct 2010 18:39:41 -0700 from www-data@localhost

----- The following addresses had permanent fatal errors ----- 
[email protected]
(reason: 550 5.1.1 <[email protected]>... User unknown)
(expanded from: [email protected])

Qual é a maneira correta de configurar isso?

Obrigado.

    
por naunu 28.10.2010 / 18:32

3 respostas

1

Em seu sendmail.mc, adicione:

define(LUSER_RELAY,'mail.google.com')dnl

Ou qualquer que seja o servidor de saída SMTP que o Google pediu para você usar. Dependendo da sua distribuição linux, produza sendmail.cf e reinicie o sendmail (no Debian isto é feito rodando o sendmailconfig).

EDIT: Se a máquina não aceitar nenhum email recebido, pode ser melhor instalar o nullmailer:

# apt-get install nullmailer
# dpkg-reconfigure nullmailer

EDIT: Como o nullmailer não pode funcionar com o Gmail, você pode usar o ssmtp

    
por 02.11.2010 / 20:10
0

Se você não se importa com qual MTA você realmente usa, eu recomendo instalar o Postfix. É bastante fácil de configurar e eu uso em todos os meus servidores da Web, bem como nos servidores de correio que eu mantenho para clientes.

sudo apt-get install postfix

Se o Postfix já estiver instalado, execute sudo dpkg-reconfigure postfix

Siga os menus, escolha "Sistema de satélite", atenha-se aos padrões até que seja solicitado o host de retransmissão SMTP, no qual você entrará em um host SMTP autorizado a usar.

Você também pode precisar colocar o seguinte em /etc/postfix/main.cf

# Disable local delivery
mydestination =
local_recipient_maps =
local_transport = error:local mail delivery is disabled
    
por 28.10.2010 / 18:47
0

Embora o postfix possa ser uma boa ideia, mas esse tipo de problema também pode significar que você está enviando um email de um IP na lista negra. Muitos IPs atribuídos pelo IP do ISP estão na lista negra do link .

Se você enviar um e-mail do sendmail, ele não mostrará o erro exato e continuará reclamando o erro User Unknown , a menos que você ative algum registro. No entanto, com postfix é automaticamente diz-lhe o problema exato, como

De qualquer servidor de e-mail

Mail server said: 550 Blacklisted in zen.spamhaus.org: http://www.spamhaus.org/query/bl?

Do Google

status=bounced (host gmail-smtp-in.l.google.com[74.125.142.27] said: 550-5.7.1 [IP] The IP you're using to send mail is not authorized to 550-5.7.1 send email directly to our servers. Please use the SMTP relay at your 550-5.7.1 service provider instead. Learn more at 550 5.7.1 http://support.google.com/mail/bin/answer.py?a

Do Hotmail

status=bounced (host mx4.hotmail.com[65.55.37.120] said: 550 DY-001 (COL0-MC4-F9) Unfortunately, messages from <IP> weren't sent. Please contact your Internet service provider. You can tell them that Hotmail does not relay dynamically-assigned IP ranges. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors.

Se você estiver usando seu próprio servidor de e-mail personalizado, talvez possa corrigi-lo. Caso contrário, será necessário que o ISP resolva esse problema.

HTH

    
por 18.04.2013 / 21:49