Page 1 of 1

SMTP y Servidor Exchange

Posted: Thu Sep 27, 2007 7:00 am
by Vikthor
Estoy tratando de autenticar el usuario de un server exchange, para poder hacer envios a distintos dominios, sin tener necesidad de configurar el servidor de los clientes.

La clase smtp que modifico Luis Krause, ya viene incluido la auntenticacion, sin embargo al hacer yo la autenticacion desde mi programa esto me arroja el server :

Code: Select all

27/09/2007 01:13:11: Connect	Socket handle:       428	WSA Error:         0	
27/09/2007 01:13:11: Write  	Socket handle:       428	WSA Error:         0	
27/09/2007 01:13:11: Read   	Socket handle:       428	WSA Error:         0	
27/09/2007 01:13:11: 220 win2003.server.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at  Thu, 27 Sep 2007 01:13:59 -0600 
	
27/09/2007 01:13:11: HELO smtp-client
	
27/09/2007 01:13:11: Read   	Socket handle:       428	WSA Error:         0	
27/09/2007 01:13:11: 250 win2003.server.com Hello 	
27/09/2007 01:13:11: AUTH LOGIN
	
27/09/2007 01:13:11: Read   	Socket handle:       428	WSA Error:         0	
27/09/2007 01:13:11: 503 5.5.2 Send hello first.
27/09/2007 01:13:11: 503 5.5.2 Send hello first. Es el mensaje que no puedo solucionar.

Pedi los comandos al server que tiene disponibles y este fue el resultado :

Code: Select all

27/09/2007 01:12:00: 214-This server supports the following commands:
214 HELO EHLO STARTTLS RCPT DATA RSET MAIL QUIT HELP AUTH TURN ETRN BDAT VRFY
Tambien pedi :

Code: Select all

27/09/2007 01:28:44: EHLO NSF000000
	
27/09/2007 01:28:44: Read   	Socket handle:       428	WSA Error:         0	
27/09/2007 01:28:44: 250-win2003.server.com Hello 
250-TURN
250-SIZE
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-X-EXPS GSSAPI NTLM LOGIN
250-X-EXPS=LOGIN
250-AUTH GSSAPI NTLM LOGIN
250-AUTH=LOGIN
250-X-LINK2STATE
250-XEXCH50
250 OK
Asi que cambie la autenticacion por :

Code: Select all

27/09/2007 01:30:21: AUTH=LOGIN
	
27/09/2007 01:30:21: Read   	Socket handle:       428	WSA Error:         0	
27/09/2007 01:30:21: 500 5.3.3 Unrecognized command
Y el maldito server me sigue rechazando.

Alguna sugerencia

Posted: Thu Sep 27, 2007 8:33 am
by Carlos Mora
Victor

creo que has interpretado mal el mensaje del servidor.

el comando es

AUTH LOGIN

sin el '=', pero no hace falta porque en el estado te dice con AUTH=LOGIN el estado actual

Saludos,

Carlos.

Posted: Thu Sep 27, 2007 3:48 pm
by Vikthor
Carlos Mora wrote:Victor

creo que has interpretado mal el mensaje del servidor.

el comando es

AUTH LOGIN

sin el '=', pero no hace falta porque en el estado te dice con AUTH=LOGIN el estado actual

Saludos,

Carlos.
Al usar AUTH LOGIN , el servidor me debería de responder con un 334 y pedirme el user y password , sin embargo me pide lo siguiente.

Code: Select all

27/09/2007 01:13:11: Connect   Socket handle:       428   WSA Error:         0    
27/09/2007 01:13:11: Write     Socket handle:       428   WSA Error:         0    
27/09/2007 01:13:11: Read      Socket handle:       428   WSA Error:         0    
27/09/2007 01:13:11: 220 win2003.server.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at  Thu, 27 Sep 2007 01:13:59 -0600 
    
27/09/2007 01:13:11: HELO smtp-client 
    
27/09/2007 01:13:11: Read      Socket handle:       428   WSA Error:         0    
27/09/2007 01:13:11: 250 win2003.server.com Hello     
27/09/2007 01:13:11: AUTH LOGIN 
    
27/09/2007 01:13:11: Read      Socket handle:       428   WSA Error:         0    
27/09/2007 01:13:11: 503 5.5.2 Send hello first. 
Todos los mensajes 5** indican un error, estoy buscando en google el porqué el server me esta pidiendo un "Send hello first"

Si lo hago con una cuenta de yahoo , el server responde así.

Code: Select all

27/09/2007 01:33:39: Connect	Socket handle:       452	WSA Error:         0	
27/09/2007 01:33:39: Write  	Socket handle:       452	WSA Error:         0	
27/09/2007 01:33:39: Read   	Socket handle:       452	WSA Error:         0	
27/09/2007 01:33:39: 220 smtp103.plus.mail.sp1.yahoo.com ESMTP
	
27/09/2007 01:33:39: HELO smtp-client
	
27/09/2007 01:33:39: Read   	Socket handle:       452	WSA Error:         0	
27/09/2007 01:33:39: 250 smtp103.plus.mail.sp1.yahoo.com
	
27/09/2007 01:33:39: AUTH LOGIN
	
27/09/2007 01:33:39: Read   	Socket handle:       452	WSA Error:         0	
27/09/2007 01:33:39: 334 VXNlcm5hbWU6
	
27/09/2007 01:33:39: dmdfgdsg10ZDIwMDA=
	
27/09/2007 01:33:39: Read   	Socket handle:       452	WSA Error:         0	
27/09/2007 01:33:39: 334 UGFzhytu37c3dvcmQ6
	
27/09/2007 01:33:39: bWlzNWFtb3gfyhwrywtJlcw==
	
27/09/2007 01:33:40: Read   	Socket handle:       452	WSA Error:         0	
27/09/2007 01:33:40: 535 authorization failed (#5.7.0)
Y ahí si despues de AUTH LOGIN me responde con un aviso "334"

Alguién ha trabajado es parte ?

Posted: Thu Sep 27, 2007 4:58 pm
by Carlos Mora
Viktor,
Prueba con EHLO en lugar de HELO, a ver si asi te acepta el AUTH LOGIN

Saludos,

Carlos.

Posted: Thu Sep 27, 2007 5:28 pm
by Vikthor
Carlos Mora wrote:Viktor,
Prueba con EHLO en lugar de HELO, a ver si asi te acepta el AUTH LOGIN

Saludos,

Carlos.
Hice pruebas de envio con una cuenta de yahoo con autenticación y por fin salierón todos los destinatarios de forma correcta.

El problema que tuve al momento de firmarme en el server de yahoo, era la clave, la función para pasar la cadena a base64 , no devuelve el valor correcto si la cadena es de tipo alfanumerica , si únicamente es alfabetica, el acceso es correcto.

Todavía me falta resolver el acceso a un servidor Exchange.

Saludos