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

Archivos adjuntos

Estas en el tema de Archivos adjuntos en el foro de ASP Clásico en Foros del Web. hola tengo un problema al enviar un archivo adjunto a un correo electronico mediante asp, lo que pasa es de que si me envia el ...
  #1 (permalink)  
Antiguo 02/08/2004, 11:58
 
Fecha de Ingreso: julio-2004
Mensajes: 27
Antigüedad: 20 años, 9 meses
Puntos: 0
Pregunta Archivos adjuntos

hola tengo un problema al enviar un archivo adjunto a un correo electronico mediante asp, lo que pasa es de que si me envia el correo pero no me adjunta el archivo espero y me puedan ayudar. este es el codigo

<%
'--Declaramos las variables que vamos a usar
Dim nombre, asunto, correo, localidad, texto, mensaje, txt, File, adjuntos

'Para adjuntos archivos a el correo
Set Upload = Server.CreateObject("Persits.Upload")
Upload.IgnoreNoPost = True

'capture un upload y ahorre los archivos uploaded (si cualquiera) en directorio
Upload.Save "My Documents"

'--Inicializamos estas variables con los datos recogidos del formulario
nombre = request("nombre")
correo = request("correo")
texto = request("texto")
adjuntos= request("adjuntos")

'no podemos utilizar Upload.Form o Upload.Files hasta que se llama Upload.Save.
If Upload.Form("adjuntos") <> "" Then

'--Creamos el objeto Mail
Set Mail = Server.CreateObject("Persits.MailSender")

'--Establecemos sus propiedades
'Para referenciar al servidor SMTP
Mail.Host = "mail.axstracker.com"

'Para referenciar el E-mail del remitente
' Mail.Encoder permite introducir caracteres extendidos (tildes, eñes)
' en la cabecera del mensaje
Mail.From = Mail.EncodeHeader(correo)

'Para referenciar el nombre identificativo del remitente
Mail.FromName = Mail.EncodeHeader(nombre)

'Para referenciar la dirección de correo a la que se enviarán los datos del
'formulario, es decir el e-mail del Colegio
Mail.AddAddress "[email protected]"

'Para referenciar el asunto del mensaje
Mail.Subject = "Mensaje de " & Mail.EncodeHeader(nombre)

'Para referenciar el contenido de la sugerencia a enviar
' Se incluye delante del texto una referencia al remitente
Mail.Body = "De: " & nombre & Chr(13) & Chr(10) & _
texto & ""

'Para admitir caracteres extendidos (tildes, eñes) en el cuerpo del mensaje
Mail.ContentTransferEncoding = "Quoted-Printable"

' archivo adjunto vía la colección de Upload.Files.
' compruebe si era un archivo ineed uploaded
Set File = Upload.Files("adjuntos")
If Not Upload.Files("adjuntos") Is Nothing Then
Mail.AddAttachment Upload.Files("adjuntos").Path
End If

'Enviamos el mensaje y establecemos la rutina de control de errores
On Error Resume Next
Mail.Send
If Err <> 0 Then

'Si se Produce un error, cargamos su referencia en la variable mensaje
mensaje = "Error: " & Err.Description
else
'En caso de realizar el envío de forma exitosa, así lo referenciamos
mensaje = "enviado"
End If

'Borramos el objeto Mail para liberar recursos
Set Mail = Nothing

'Redirigimos el navegador hacia una página Html que nos informe
'en pantalla sobre el éxito/fracaso del envío y permita enlazar con la
'página principal de nuestra web
txt = "resultado.asp?mensaje="&mensaje
Response.redirect txt
End If
%>

el error es el siguiente

Persits.upload error 800a0028
this feature has been disabled by system administrator. Use SaveVirtual instead.

/aspemail2.asp, line 27
  #2 (permalink)  
Antiguo 02/08/2004, 14:22
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 5 meses
Puntos: 4
Creo que el problema va a estar en esta línea, confírmame si es la 27:

Upload.Save "My Documents"

Como especifica el error "Use SaveVirtual instead", has de usar un directorio virtual y no la carpeta Mis Documentos del servidor. Además, como también indica, el servicio ha sido desactivado por el administrador, esto es que no podrás guardar archivos fuera del directorio virtual de la página.

Crea una carpeta para guardar temporalmente los archivos que esté en el mismo directorio que el resto de la página y prueba si con esa ruta funciona.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 02/08/2004, 15:29
 
Fecha de Ingreso: julio-2004
Mensajes: 27
Antigüedad: 20 años, 9 meses
Puntos: 0
hola mira soy nueva en estos espero y puedas ser mas explicito en tu consejo la verdad casi no le entiendo, por favor
  #4 (permalink)  
Antiguo 02/08/2004, 16:09
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 5 meses
Puntos: 4
El servidor es un ordenador que probablemente usará Windows como sistema operativo. Casi seguro que tendrá una carpeta que se llame "My documents" o "Mis documentos". Ahí es donde guardas el archivo que será enviado como adjunto en el mensaje. Sin embargo, en un servidor Windows (IIS) las páginas suelen estar alojadas en el directorio C:\Inetpub\wwwroot aunque no lo veas cuando estás navegando ya que se utiliza lo que se llaman directorios virtuales.

Pongamos que tu página está alojada en la siguiente ruta del disco duro del servidor:

C:\Inetpub\wwwroot\anaalda\index.asp

pero para verla escribes sólo www.anaalda.com. El directorio virtual sería como sustituyeras C:\Inetpub\wwwroot\anaalda\ por www.anaalda.com. Si el servidor es tuyo puedes configurarlo a tu gusto, de modo que se pueda acceder a todos los directorios del servidor (PC) desde una página ASP. Sin embargo, cuando te asignan un directorio virtual en un servidor, no sueles tener acceso a los directorios que no sean el virtual. Si no, imagínate si creas un código para borrar por ejemplo la carpeta C:\WINDOWS\system32. Acabarías con el servidor en un momento.

Por eso no te deja subir un fichero a la carpeta "My documents", podría ser un virus ¿no?

Pues bien, tienes que crear una carpeta dentro del directorio virtual, por ejemplo "adjuntos" que estaría situada de esta manera en el servidor C:\Inetpub\wwwroot\anaalda\adjuntos. Entonces el código sería:

Upload.Save Server.MapPath("adjuntos")

No sé si será esta la solución, pues no sé por dónde podrían ir entonces los tiros. Habla de todas formas con el administrador del sitio, quizás él te pueda dar mejores explicaciones.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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 12:30.