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.