[Ovillo] Relay access denied

Rosendo Marín rosendo en krealia.com
Lun Jun 25 12:04:01 UTC 2007


he llamado donde está alojado el servidor y funciona bien ya que ha 
mandado un correo de prueba y se ha recibido correctamente. Así que el 
problema parece estar cuando se envía el correo mediante formulario. La 
solución que me han dado es darle autentificación 
(Mail.userName="my_user" y Mail.PassWord="my_password") y eso es lo que 
he hecho pero tampoco me ha funcionado.

Dejo el código que tengo a ver si me faltara algo que hace que no funcione.

Éste es el que va en la página para enviar el formulario por correo:

    sSQL = "SELECT SMTP, CORREOWEB FROM DOMINIOS WHERE I_DOMINIO=" & 
Session("I_DOMINIO")
           
                        CrearRS dbi,rs,sSQL,0
                        SMTP=RS("SMTP")
                        CORREOWEB=RS("CORREOWEB")
                       
                        CerrarObj(RS)
                        CerrarObj(dbi2)        
                       
                        REMITENTE_NOMBRE="WEB "  & Session("WEB")
                        ASUNTO="CONSULTA FORMULARIO WEB " & Session("WEB")
                        CUERPO=NOMBRE & " a enviado la siguiente 
consulta:<br /> " & SUGERENCIAS & "<br /><br />" &_
                                     "Forma de contacto: " & TELEFONO  & 
"   " & EMAIL
                                'Session("EMAIL")
                        envio=Enviar_Email 
(SMTP,CORREOWEB,Remitente_Nombre,Session("EMAIL"),Asunto,Cuerpo)        
                             
               
                        Response.write("<br /><p>Comentario enviado 
satisfactoriamente</p><br />")

Y aquí la función Enviar_Email donde le he añadido la autentificación:

Function Enviar_Email 
(Servidor,Remitente_Email,Remitente_Nombre,Destinatario_Email,Asunto,Cuerpo) 


    ' "" = ENVIO OK!
    ' "" <> ERROR, Y DEVOLVEMOS LA DESCRIPCIÓN DEL ERROR

   Set Mail = Server.CreateObject("Persits.MailSender")

   Mail.Host = Servidor
   Mail.From = Cstr(Remitente_Email)
   Mail.FromName = Cstr(Remitente_Nombre)
   Mail.AddAddress Destinatario_Email
 
   Mail.Subject = Asunto
   Mail.Body = Cuerpo
Mail.userName="my_user"
Mail.PassWord="my_password"

   On Error Resume Next
   Mail.Send
   If Err <> 0 Then ' error occurred
      Email=Err.Description
   End If   

End Function

Gracias por aportarme soluciones!!!

Jorge Hoya escribió:
> Pues si estamos seguros que el códido del programa es correcto
> tendremos que pensar en la otra parte que interviene en el proceso: el
> servidor de correo. Sobre él podríamos preguntarnos:
>
> 1. ¿es la primera vez que utilizo este servidor para mandar correos?
> 2. en caso de no serlo, esos correos, ¿los he mandado con un cliente
> de correo electrónico o mediante aplicaciones idénticas a la que
> actualmente tenemos entre manos?
> 3. la dirección de correo que estamos usando, ¿pertenece a la lista de
> dominios permitidos por el servidor de correo que estamos usando? En
> caso contrario lo penalizará como intento de relay y lo bloqueará.
> 4. qué tipo de conexión necesita establecer el servidor de correo
> electrónico con el cliente para poder enviar los emails? ¿CRAM-MD5?
> ¿NTLM? ¿AUTH=LOGIN?
>
> Así todo, volviendo a tu código, vemos la línea
>
>  auth = "true"
>
> que me imagino utilices para querer activar la seguridad en el email.
> PERO, mirando en la documentación de ASPEMail leemos:
>
> [...]
> When used in the standard mode (message queuing is not used), AspEmail
> supports the AUTH=LOGIN method only. When sending queued mail,
> AspEmail, in conjunction with EmailAgent, supports all three protocols
> described above. When attempting to negotiate an authentication
> protocol with the SMTP server, AspEmail tries the authentication
> methods in the following order: CRAM-MD5, NTLM, AUTH=LOGIN.
> [...]
>
> con lo que, por lo que entiendo de todo esto, auth = 'true' no vale
> para nada. En el modo estandard, AspEmail intentará enviar el email
> sin user/pass, si no se los indicamos, o autentificarse con AUTH=LOGIN
> en caso de proporcionarselos.
>
> Resumiend: tras leer la ayuda de Persits [1] y [2], parece que el
> problema está entre los datos de los emails (destinatario y remitente)
> y el servidor de correo. Si no es mucha indiscrección, ¿podrías darnos
> un ejemplo de los datos que estás usando, así como del servidor de
> correo?
>
>
> [1] http://support.persits.com/show.asp?code=PS01032724
> [2] http://support.persits.com/show.asp?code=PS030721110
>
>
>   



Más información sobre la lista de distribución Ovillo