iis-7 asp-classic cdo.message

iis 7 - CDO.Message.1 error ''80070005'' Acceso denegado.



iis-7 asp-classic (3)

SI NO QUIERES CAMBIAR TU CÓDIGO

Otorgue acceso de escritura del grupo IIS_IUSRS a la carpeta c: / inetpub / mailroot / Pickup o cualquiera que sea su directorio de recogida.

Debe ser el Grupo IIS_IUSRS , no el Usuario IUSR (probablemente lo haya malinterpretado).

Recibí este error después de realizar los pasos especificados en la opción 3 en blog.msdn.com

No tuve que cambiar el código ASP. Tu código funciona bien en mi servidor.

Recibo este error cuando intento enviarlo a través del servidor local

CDO.Message.1 error ''80070005'' Access is denied. /mail.asp, line xxx

Aquí está el código que estoy usando

MailBodyText = "TEST" Set objNewMail = CreateObject("CDO.Message") objNewMail.To = sSendTo objNewMail.From = "[email protected]" objNewMail.Cc = "[email protected]" objNewMail.Subject = "Information Request & Feedback" objNewMail.HTMLBody = "The following information was sent from " & sEmail & ":" & "<br>" & CHR(13) & MailBodyText & "<br>copies of this mail we sent to :"& sSendTo objNewMail.Send Set objNewMail = Nothing

Parece que es un error de permiso en el ISSUR no tiene permiso de escritura para escribir en la carpeta mailroot / pickup.

Pero lo hemos comprobado y la cuenta de servicios que este sitio está utilizando parece tener los derechos.

Pregunta: ¿este error siempre es un error de permiso de archivo?

Pregunta cómo saber / establecer la ubicación que CDO está usando? Entonces podemos confirmar los permisos

¿Qué más debería ver para arreglar esto?


Use la propiedad .configuration que permite la autenticación y otras .configuration .

ejemplos en: http://www.paulsadowski.com/wsh/cdo.htm

actualizar

La propiedad .configuration permite establecer el directorio de recogida ( según lo solicite )

objNewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 objNewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "c:/inetpub/mailroot/pickup" objNewMail.Configuration.Fields.Update objNewMail.Send


Estoy migrando algunos viejos sitios asp clásicos a un nuevo servidor (Windows 2008R2) y tuve "exactamente" el mismo problema (bueno, al menos el mismo error y básicamente el mismo código). La solución presentada por Gaby:

objNewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 objNewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "c:/inetpub/mailroot/pickup"

no funcionó para mí, todavía tenía el mismo error.

Después de buscar, encontré esta sugerencia:

myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"

(NO establezca el directorio smtpserverpickup)

Ahora funciona bien.

Por cierto, si necesita configurar el servicio SMTP necesario en el servidor de Windows 2008 (IIS7), encontré este blog extremadamente útil.

ACTUALIZAR:

Según microsoft sendusing = 1 usa el servidor SMTP y sendusing 2 usa Outlook Express, he buscado en el servidor, y no parece haber sido outlookexpress o el correo de Windows instalado, aún así esta configuración funciona para mí. Si alguien pudiera explicar que tengo curiosidad por saberlo.