Un cliente ha contratado un hosting en Godaddy y este servicio sólo ofrece 2 formas de enviar emails vía ASP: o sus formularios (limitados a 1 sola cuenta) o vía CDONT o CDOSYS.
Ahora bien, he determinado que ambos servicios están operativos porque ejecuté una página de testeo con este código:
Código:
Y los 5 componentes son mostrados como operativos (eliminé aquellos que no son mostrados pues sería un código largo y no viene al caso). Entonces me puse manos a la obra y implementé este código para enviar un simple email:<% Dim theComponent(5) Dim theComponentName(5) theComponent(0) = "ADODB.Connection" theComponent(1) = "Scripting.FileSystemObject" theComponent(2) = "CDONTS.NewMail" theComponent(3) = "Persits.Upload.1" theComponent(4) = "CDO.Message" theComponentName(0) = "ADODB" theComponentName(1) = "FileSystemObject" theComponentName(2) = "CDONTS" theComponentName(3) = "Persits Upload" theComponentName(4) = "CDOSYS" Function IsObjInstalled(strClassString) On Error Resume Next IsObjInstalled = False Err = 0 Dim xTestObj Set xTestObj = Server.CreateObject(strClassString) If 0 = Err Then IsObjInstalled = True Set xTestObj = Nothing Err = 0 End Function %> <% Dim i For i=0 to UBound(theComponent) If Not IsObjInstalled(theComponent(i)) Then Else Response.Write "<tr>" & vbCrLf Response.Write "<td width=""100%"">" & vbCrLf Response.Write "<b>" & theComponentName(i) & "</b><br>" & vbCrLf Response.Write "</td>" & vbCrLf Response.Write "</tr>" & vbCrLf End If Next %>
Código:
Es el que siempre uso y no hay problema. Excepto que me tira este error siempre:<% Set oMail = Server.CreateObject("CDO.Message") para = "[email protected]" de = "[email protected]" asunto = "El asunto de mi email" mensaje = "El mensaje del mail..." oMail.From = de oMail.To = para oMail.Subject= asunto oMail.TextBody = mensaje oMail.Send Set oMail = Nothing %>
Código:
y la línea 15 en cuestión es oMail.SendCDO.Message.1 error '80040220' The "SendUsing" configuration value is invalid. /prueba.asp, line 15
Ahora bien. en la ayuda de Godaddy aparece este código como el "adecuado" para usarlo:
Código:
Pero el problema es que no se como usarlo. Probé reemplazar los valores de correo pero el error que me tira es este:<% // language -- C# // import namespace using System.Web.Mail; private void SendEmail() { const string SERVER = "relay-hosting.secureserver.net"; MailMessage oMail = new System.Web.Mail.MailMessage(); oMail.From = "[email protected]"; oMail.To = "[email protected]"; oMail.Subject = "Test email subject"; oMail.BodyFormat = MailFormat.Html; // enumeration oMail.Priority = MailPriority.High; // enumeration oMail.Body = "Sent at: " + DateTime.Now; SmtpMail.SmtpServer = SERVER; SmtpMail.Send(oMail); oMail = null; // free up resources } %>
Código:
y la línea 4 es using System.Web.Mail;Microsoft VBScript compilation error '800a0401' Expected end of statement /prueba.asp, line 4 using System.Web.Mail; ---------------------^
Lo que necesito hacer es simple: enviar 3 emails (1 de confirmación, uno al webmaster y otro al administrador, cada uno con un texto diferente). Los formularios que me ofrecen "sólo permiten CC" (carbon copy) y claro, se mostraría la dirección del webmaster y del administrador cosa que no se desea.
Dado que tiene implementado el CDONT y CDOSYS es claro que algo estoy omitiendo en este caso pero ignoro que puede ser.
Por favor si pueden ayudarme con este tema les quedaré en deuda.
Un saludo cordial desde Lima, Perú