Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con una funcion.

Estas en el tema de Ayuda con una funcion. en el foro de ASP Clásico en Foros del Web. Hola a todos (as): Trabajo en una aplicación de correo en ASP. Estoy tratando de desarrollar una función que: 1.- Abra un mensaje de correo ...
  #1 (permalink)  
Antiguo 24/05/2005, 14:31
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 8 meses
Puntos: 0
Pregunta Ayuda con una funcion.

Hola a todos (as):

Trabajo en una aplicación de correo en ASP.

Estoy tratando de desarrollar una función que:

1.- Abra un mensaje de correo (.eml)
2.- Verifique si tiene archivos adjuntos.
3.- Si los tiene que los guarde en la carpeta del usuario.
3.1.- Despliegue una tabla con los datos de dichos adjuntos, al desplegar el mensaje en el browser.
4.- En caso de que el dato adjunto sea otro mensaje (.eml,.msg,.dat) volver al paso 1 hasta que ya no haya datos adjuntos "anidados".

El punto 4 es el que me falta... ¿alguna sugerencia?

Esta es mi función en desarrollo:

Código:
FUNCTION DesglosarDatos(strMensaje,strCarpeta)
	Set oMsg=Server.CreateObject("FathMail.Message")
	oMsg.LoadFromFile strMensaje
	'Algo así como: E:\WebMail\usuarios\Usuario\mensaje.eml
	AttCnt=oMsg.GetAttachmentCount
	If AttCnt > 0 Then
	   If InStr(oMsg.GetAttachmentName(0),".dat") > 0 Then
          Ruta = attachmentRoot & strUsername & "\" & strCarpeta & ".attach\"
          'Algo así como: E:\WebMail\attachments\Usuario\Mensaje.attach\
	For j = 0 to AttCnt-1
             Nombre=oMsg.GetAttachmentName(j)
             Tamano=oMsg.GetAttachmentSize(j)
             GuardarEn = Ruta & Nombre 
             Response.Write "<tr><td>"&j&"</td>"
	Response.Write "<td>" & Nombre & "</td>"
	Response.Write "<td>" & Tipo & "</td>"
             Response.Write "<td>" & FormatBytes(Tamano) & "</td>"
	Response.Write "<td>"&ico&"</td></tr>"
             oMsg.SaveAttachment j, GuardarEn
	      Next
	   End If
	End If
	Set oMsg=Nothing
END FUNCTION

Espero me puedan ayudar. Muchas gracias.
  #2 (permalink)  
Antiguo 24/05/2005, 15:10
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Recursividad

Dentro de tu funcion, donde determinas si el attachment es un .dat, deberás, si cumple con esto llamar nuevamente a tu función pasándole los argumentos necesarios.

A simple vista me parece que deberías replantear un poco esto...y en lugar de utilizar una función utilizar una subrutina, o existe alguna cuestión particular por la cual quieras regresar un valor?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 24/05/2005, 15:37
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 8 meses
Puntos: 0
Gracias por tu respuesta.

En realidad me baso en que no siempre es el mimso nombre de archivo (.eml) ni la misma carpeta dado que el sistema es multiusuario.

Al extraer un mensaje adjunto dentro del .eml original, éste se transforma en un .dat Y, si éste (.dat) a su vez tiene otro mensaje adjunto, al extraerlo tambien será un .dat más, y así sucesivamente (a menos que el dato adjunto al mensaje o submensaje sea un archivo .doc ó .xml ó .zip etc. y nó un mensaje rfc/*) ¿me explico?

Lo que yo pretendo es, con esta función, extraer todos los mensajes, submensajes y archivos adjuntos de el mensaje original para despues arreglarmelas para colocarlos en el mensaje de forma "inline". Entonces el problema está en llamar a la función cuantas veces sea necesario, previa verificación, si existe todavía un dato adjunto, al último elemento extraido (.dat).

Espero no confundirte.

Ahora bien, ¿podrías por favor, mostrarme cómo utilizarías una subrutina?

Gracias nuevamente.
  #4 (permalink)  
Antiguo 24/05/2005, 15:50
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Hola de nuevo, perdona que no abunde mucho en el tema, pero es que ando a la mitad de la entrega de un proyecto, con lo cual no me puedo detener mucho a pensar en esto, pero rápidamente te dejo este link que tiene el concepto de recursividad en una sub, hay mucha info al respecto en la web, solo tienes que poner atención a como llamas a tu subrutina una y otra vez.

El concepto es el mismo que el tuyo, tienes un padre que tiene hijos, pero no sabes cuantos hijos tiene, y esos hijos a su vez pueden tener hijos.

http://www.forosdelweb.com/showthrea...ighlight=arbol

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 24/05/2005, 16:01
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 8 meses
Puntos: 0
Muchisimas gracias, me sirvió de mucho la información.

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:56.