sendmail no Ubuntu (9.10) máquina “parado” enviando e-mail

5

Estou desenvolvendo na minha máquina do Ubuntu 9.10 para a web (php). Eu estou usando o sendmail para enviar e-mails, e enquanto desenvolvo na minha máquina local, eu envio e-mails locais (para o meu usuário 'doron').

Até alguns dias atrás, eu era capaz de enviar e-mails da função mail () do php, e da linha de comando usando o comando mail. Estou usando o sendmail com mailutils.

Desde os últimos dias, parece que parou de funcionar.
Quando tento enviar mensagens a partir da linha de comando, obtenho o seguinte no meu syslog (e mail.info e mail.log):

Mar  3 13:27:58 doron-desktop sendmail[4693]: o23BRwlA004693: from=doron, size=84, class=0, nrcpts=1, msgid=<201003031127.o23BRwlA004693@doron-desktop.>, relay=doron@localhost
Mar  3 13:27:58 doron-desktop sm-mta[4694]: o23BRwtQ004694: ruleset=check_rcpt, arg1=<doron@doron-desktop>, relay=localhost [127.0.0.1], reject=553 5.1.8 <doron@doron-desktop>... Domain of sender address doron@doron-desktop does not exist
Mar  3 13:27:58 doron-desktop sendmail[4693]: o23BRwlA004693: to=<doron@doron-desktop>, ctladdr=doron (1000/1000), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30084, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.8, stat=User unknown
Mar  3 13:27:58 doron-desktop sm-mta[4694]: o23BRwtQ004694: from=<doron@doron-desktop>, size=84, class=0, nrcpts=0, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]

Tentando telnet localmente para a porta 25 resulta no seguinte (mesma saída para doron @ doron-desktop):

doron@doron-desktop:/var/mail$ telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 doron-desktop. ESMTP Sendmail 8.14.3/8.14.3/Debian-9ubuntu1; Wed, 3 Mar 2010 13:26:06 +0200; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
helo localhost
250 doron-desktop. Hello localhost [127.0.0.1], pleased to meet you
mail from: doron@localhost
250 2.1.0 doron@localhost... Sender ok
rcpt to: root@localhost
553 5.1.8 root@localhost... Domain of sender address doron@doron-desktop does not exist

No entanto - se eu fizer o mesmo, mas use [email protected] no campo mail from, eu recebo:

250 2.1.5 root... Recipient ok

Meu arquivo / etc / hosts:

127.0.0.1       localhost
127.0.1.1       doron-desktop doron-desktop.

(Se eu não tiver o "doron-desktop." (com o ponto final), o comando mail demorará muito tempo (cerca de 30 segundos) até que responda, mas os resultados serão os mesmos.)

    
por Doron 03.03.2010 / 12:44

2 respostas

2

Acredito que você precisa alterar o arquivo hosts para o estado:

127.0.0.1    localhost
127.0.0.1    doron-desktop

O 127.0.1.1 foi introduzido com o Ubuntu Edgy. Mas alguns aplicativos procuram o nome do host para corresponder a 127.0.1.1. O Sendmail é um desses aplicativos. Você pode manter o 127.0.1.1 se quiser ficar com o novo padrão, mas lembre-se de adicionar o 127.0.0.1 doron-desktop.

Observe também o seguinte no seu log de erros:

ruleset=check_rcpt

Depois disso, você é informado de que seu domínio doron-desktop não existe. Existem arquivos diferentes que permitem que você defina seu nome de domínio. Tente definir o nome do domínio nas seguintes áreas:

/etc/hosts
/etc/resolv.conf
sendmail conf files

Você definitivamente precisa convencer o sendmail de que você tem um nome de domínio e que é FQDN (mesmo que não seja). Se você tiver um uso registrado de nome de domínio (em seu arquivo de hosts):

doron-desktop.somedomain.com

O servidor não se importará que o DNS público não aponte para o seu computador desktop. Dito isto, o servidor de e-mail que você envia e-mail também pode (ou vai) se importar que seu servidor de desktop esteja enviando e-mail em nome de qualquer domínio que você colocar no arquivo de hosts e possa bloquear os e-mails, devolva-os ou coloque-os na lista negra (a lista negra não acontecerá se você estiver apenas testando - você precisará enviar milhares de testes).

    
por 03.03.2010 / 13:59
1

Parece que, em algum momento, o sendmail agora está verificando se seu domínio é solucionável.

Nesse caso, você pode obter o sandmail para aceitar domínios não resolvidos reconstruindo o sendmail.cf. Isso envolve a atualização do sendmail.mc com o seguinte:

FEATURE('accept_unresolvable_domains')dnl

E então reconstrua o sendmail com o comando make e reinicie o sendmail:

/etc/mail/make

Certifique-se de ter um backup de sendmail.mc e sendmail.cf antes de continuar.

    
por 29.09.2011 / 23:58