Em Qui, 2004-06-10 �s 19:45, Antonio F. Zago escreveu:
> >
> > Eu estou ficando louco pois nao posso entender como o evolution
> > consegue fazer o que o postfix n�o faz no mesmo provedor, com as
> > mesmas credenciais.
> >
>
> Ol� Jo�o
> [CORTA]
> Vou tentar alguns testes amanh� durante o dia ou no domingo e qualquer
> coisa retorno.
> [CORTA]
> Avise se encontrar a solu��o.....
>
> Zago
Zago, valeu pela aten��o!
Resolvi o problema e, conforme combinamos, fa�o um depoimento para
constar na lista e no seu FAQ.
ASSUNTO: Problemas na autentica��o SASL_AUTH do Postfix em determinados
provedores de SMTP
**** SITUA��O ****
* Conex�o ADSL com IP dinamico
* Servidor Postfix interno encarregado das entrega locais e fazendo
relay no SMTP do provedor para mensagens de quaisquer dominios
nao locais
* baixa de mensagens do POP3 do provedor via crontab+fetchmail
* Metodo de autenticacao no provedor: SMTP_AUTH, utilizando o SASL_AUTH
* dominio pr�prio, inclusive nos endere�os de email
***dados ficticios para demonstra��o didatica ******
* dominio proprio: meudominio.com.br
* dominio do provedor: oprovedor.com.br
* servidor SMTP do provedor: mail.meudominio.com.br, que � um cname para
mail.oprovedor.com.br
que aponta para o IP 200.200.200.200
**** O QUE DIZEM OS FAQs E HOW-TOs ****
(trechos do "servidor-interno-cl10.txt do site do Zago)
Pra fazer relay no provedor, precisa configurar o main.cf pra utilizar
os SASL, precisa, apos a instalacao e configuracao do SASL, edite o
/etc/postfix/main.cf e acrescente no final deste arquivo as seguintes
linhas:
# Autenticacao smtp
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
Criar o arquivo de senhas:
echo "mail.meudominio.com.br usuario:suasenha" > \
/etc/postfix/sasl_passwd
OBS.
Na configuracao do SASL o dominio deve ser o mesmo utilizado
no item (relayhost = mail.meudominio.com.br) do /etc/postfix/main.cf,
portanto utilize o mesmo dominio nas duas configuracoes, nos dois
arquivos, tanto no:
/etc/postfix/sasl_passwd e /etc/postfix/main.cf
**** O PROBLEMA ****
N�o autenticava de jeito nenhum com o mail.meudominio.com.br nem com
mail.meuprovedor.com.br no relay_host do main.cf.
***** A SOLU��O **********
Parte 1: ativei os logs no maximo
no /etc/postfix/main.cf acrescentar as seguintes linhas
debug_peer_level = 9
debug_peer_list = 200.200.200.200
o primeiro parametro aumenta o nivel do log no maximo quando a mensagem
for destinada ou vier enviada do IP 200.200.200.200.
Isto far� com que inclusive a senha utilizada apare�a no log, qual
credencial foi trocada com o SMTP do provedor e mais uma serie de
informa��es uteis.
Parte 2: analisando o /var/log/maillog pude observar que o meu postfix
recebia a seguinte string do provedor
Jun 15 10:41:09 mailhost postfix/smtp[1850]: 228824073A:
to=<[EMAIL PROTECTED]>, relay=mail.meudominio.com.br[200.200.200.200],
delay=12, status=bounced (host mail.oprovedor.com.br[200.200.200.200]
said: 553 sorry, that domain isn't allowed to be relayed thru this MTA
(#5.7.1) (in reply to RCPT TO command))
Notem que quando o dominio � externo ele tenta entregar para
mail.meudominio.com.br, informa��o que ele pegou no "relay_host" do
main.cf, mas a resposta vem do mail.oprovedor.com.br que � o nome
verdadeiro da maquina.
Nos detalhes do log (que nao tenho agora para citar) pude ver que ele
buscava no arquivo sasl_passwd.db as credenciais para o dominio
OPROVEDOR.COM.BR e n�o MEUDOMINIO.COM.BR.
Ent�o, a solu��o que encontrei foi, contrariando todos os logs, alterar
o sasl_passwd para
echo "mail.oprovedor.com.br usuario:suasenha" > \
/etc/postfix/sasl_passwd
que fazia com que ele encontrasse as credenciais necess�rias.
************ RECOMENDA��ES FINAIS **************************
Citei apenas o tutorial do Zago, simplesmente porque ele � o indicado
pela lista. A informa��o de que devemos repetir no sasl_passwd o mesmo
dominio do relay_host (main.cf) consta em todos os tutoriais e how-tos e
inclusive no site do postfix.
O debug_peer_list e o debug_peer_level s�o ferramentas incriveis quando
temos problemas. Devemos retira-los do /etc/postfix/main.cf depois de
localizado o problema e o solucionado.
Cada vez que alteramos o sasl_passwd devemos recriar o sasl_passwd.db
atrav�s do comando:
# postmap hash:sasl_passwd (sem o # inicial)
Cada vez que alteramos o main.cf devemos reler as configura��es do
postfix:
(caso seja um postfix instalado a partir do rpm da conectiva)
# service postfix reload
(caso voce tenha compilado o fonte e colocado o binario dele no path)
# postfix reload
O meu problema foi que quando hospedamos nosso dominio proprio no
oprovedor.com.br ele criou um cname mail.meudominio.com.br que apontava
para mail.oprovedor.com.br. Esta situa��o fez com que a maquina SMTP
dele respondesse pelos dois dominios, porem sempre com o nome verdadeiro
dela (mail.oprovedor.com.br), que n�o � conhecido da minha lista de
dominios constantes do sasl_passwd. A altera��o deste dado fez tudo
funcionar.
Desculpem o tamanho da mensagem, mas prometi detalhar o maximo o
problema e a solu��o para o Zago colocar no FAQ dele.
Valeu Zago pela aten��o e ajuda, William da Rocha Lima pela indica��o do
tutorial e Thiago Macieira pelo palpite de pesquisar a autentica��o
metodo BASIC, que me fez descobrir o jeito de detalhar o log.
[]s
Joao
---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html