Oi pessoal! Esta pergunta que tenho � um desafio que tem me feito
quebrar a cabe�a por dias j�.

Eu estou testando a autentica��o em servidores smtp. Meu interesse �
depois fazer o meu postfix local entregar via smtp as mensagens para meu
provedor repassar para internet. Tenho speedy e ip dinamico por isso nao
posso fazer sozinho.

Vamos l�. J� li muita coisa sobre esse assunto, inclusive a rfc2554 e a
rfc2222. O site do zago revirei de ponta a ponta, historico da lista e
guia foca tambem.

Aprendi que para testarmos se o processo de autentica��o funciona no
servidor basta fazermos a transforma�ao dos dados na forma base64 com
esse comando assim:

#perl -MMIME::Base64 -e 'print
encode_base64("username\0username\0password");'

que gerar� a string correspondente ao usuario e senha informados:
dXNlcm5hbWUAdXNlcm5hbWUAcGFzc3dvcmQ=

esta string voce usa na autentica��o e ent�o, no dialogo com o servidor
voce � autorizado. Veja:

telnet mail.servidor.com.br 25
Trying 200.200.200.200...
Connected to mail.tal.com.br (200.200.200.200).
Escape character is '^]'.
220 mail2.tal.com.br ESMTP
ehlo eumesmo
250-mail2.tal.com.br
250 AUTH LOGIN PLAIN
auth plain dXNlcm5hbWUAdXNlcm5hbWUAcGFzc3dvcmQ=
235 Authentication sucessful

Eu tenho, na verdade, meu dominio registrado neste provedor. Suponhamos
que seja eumesmo.com.br. Entao meu endere�o de email �
[EMAIL PROTECTED], mas o dominio do meu provedor � tal.com.br, e ele
usa este dominio para os clientes dele que n�o tem seu proprio dominio.

Como na forma��o da string de autentica��o para o AUTH PLAIN (ou o AUTH
LOGIN) nao � possivel colocar o dominio, ent�o somente os usuarios
comuns do provedor (que usam o dominio @tal.com.br) conseguem
autenticar. Eu n�o consigo porque tenho dominio diferente
(eumesmo.com.br).

Por exemplo: usuario comum [EMAIL PROTECTED]
#perl -MMIME::Base64 -e 'print
encode_base64("pessoa\0pessoa\0senha-da-pessoa");'
retorna a string cGVzc29hAHBlc3NvYQBzZW5oYS1kYS1wZXNzb2E= que serve para
a autentica��o so servidor SMTP mail2.tal.com.br

Por exemplo: usuario do meu dominio [EMAIL PROTECTED] (dominio
hospedado no servidor SMTP mail2.tal.com.br)
#perl -MMIME::Base64 -e 'print
encode_base64("joao\0joao\0senha-do-joao");'
retorna a string am9hbwBqb2FvAHNlbmhhLWRvLWpvYW8= 

Esta string NAO SERVE para a autentica��o no servidor SMTP
mail2.tal.com.br porque na sua gera�ao eu n�o inclui o meu dominio,
entao o servidor pensa que se trata do usuario [EMAIL PROTECTED] e n�o do
[EMAIL PROTECTED]

Ent�o eu testei inumeros jeitos de colocar meu dominio nesse comando
perl assim:
"[EMAIL PROTECTED]"
"[EMAIL PROTECTED]"
"[EMAIL PROTECTED]@eumesmo.com.br\0senha-do-joao"
"joao\0eumesmo.com.br\0joao\0senha-do-joao"
"joao\0joao\0eumesmo.com.br\0senha-do-joao"
"joao\0eumesmo.com.br\0joao\0eumesmo.com.br\0senha-do-joao"

e em todos eles o servidor SMTP retorna: 501 malformed auth input
(#5.5.4)

Ent�o l� vai a pergunta: como consigo autenticar num servidor smtp se
meu dominio n�o � o dom�nio "principal" daquela maquina (talvez seja um
dominio virtual que ela tenha) ?

Com certeza isso � possivel porque quando uso um cliente de email (o
outlook funciona, por exemplo) ele envia o nome, o dominio e a senha,
autentica e consegue enviar a mensagem.

Depois de resolver essa confus�o de dominios, colocar para funcionar o
sasl no postfix � f�cil, f�cil, mole, mole!

Desculpe o tamanho da mensagem, mas quis ser o mais detalhado possivel.
Sei que � bastante complexo, mas tenho esperan�a de resolver isso com a
ajuda de voces. Com certeza alguem j� passou por isso!

Valeu,

[]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

Responder a