
Con este tipo de envio CDO dependemos de Microsoft, para nuestro envio de emails, aunque es necesario que tengamos un Servidor SMTP de Emails instalado en el servidor, no funcionará si nuestro servidor no soporta SMTP.
Las Primaras lineas no deben de ser modificadas si no se sabe exactamente lo que hacemos.
Const cdoSendUsingPickup = 1
Const cdoSendUsingPort = 2
Const cdoAnonymous = 0
Const cdoBasic = 1
Const cdoNTLM = 2
Las siguientes lineas refieren a la configuración del mensaje que se va a enviar.
mensaje.Subject = Titulo del mensaje
mensaje.Sender = Desde donde se envia el mensaje
mensaje.To = A donde va dirigido el mensaje
mensaje.TextBody = Cuerpo del mensaje
Despues de estas lineas no es recomendable modificar nada mas, exepto:
"mail.tu_servidor.com" | Donde se indicará tu servidor de email.
"Usuario" | Donde indicaremos el nombre de usuario de tu Servidor de Email.
"Clave" | Debemos indicar el Password o Clave de Usuario de Tu servidor de Email.
El resto como antes indicamos no seria conveniente modificarlo.
<% 'Codigo ofrecido por Tutores.org %>
- <%
- Const cdoSendUsingPickup = 1
- Const cdoSendUsingPort = 2
- Const cdoAnonymous = 0
- Const cdoBasic = 1
- Const cdoNTLM = 2
- Set mensaje = CreateObject("CDO.Message")
- mensaje.Subject = "Ejemplo de Cdo con autentificacion de usuario"
- mensaje.Sender = "yo@mi_domino.com"
- mensaje.To = "tu@tu_dominio.com"
- mensaje.TextBody = "Este es un ejemplo de texto"
- mensaje.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
- mensaje.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.tu_servidor.com"
- mensaje.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/authenticate") = cdoBasic
- mensaje.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "USUARIO"
- mensaje.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Clave"
- mensaje.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
- mensaje.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
- mensaje.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
- mensaje.Configuration.Fields.Update
- mensaje.Send
- %>
<a title="Tutores.org - Envio de emails con CDO - con Autentificacion" href="http://www.tutores.org/codigo/978/" target="_blank">Envio de emails con CDO - con Autentificacion</a>
<!-- Final enlace Tutores.org -->
Por favor, indicadme qué puede ocurrir.
Gracias y un saludo
hemos añadido varias instrucciones sobre la configuración del Script.
A ver si de esta forma consigues que funcione.
saludos
<a href="http://www.tutores.org">Codigo ofrecido por Tutores.org</a>
<%
Const cdoSendUsingPickup = 1
Const cdoSendUsingPort = 2
Const cdoAnonymous = 0
Const cdoBasic = 1
Const cdoNTLM = 2
Set mensaje = CreateObject("CDO.Message")
mensaje.Subject = "Ejemplo de Cdo con autentificacion de usuario"
mensaje.Sender = "yo@mi_domino.com"
mensaje.To = "tu@tu_dominio.com"
mensaje.TextBody = "Este es un ejemplo de texto"
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.tu_servidor.com"
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/authenticate") = cdoBasic
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "USUARIO"
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Clave"
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
mensaje.Configuration.Fields.Update
mensaje.Send
%>[*/CODE*]
He probado las dos variantes:
mensaje.AddAttachment(wScript.Arguments(0))
y da el siguiente error:
CDO.Message.1: The specified protocol is unknown.
Dim attachment As New MailAttachment(Server.MapPath("ok.txt"))
mensaje.Attachments.Add(attachment)
y
tampoco funciona.
Gracias por vuestro tiempo.
mensaje.AddAttachment "c: uarchivo.txt"
saludos
'este es el código que funciona (ojo... es importante tener claro que es preciso un servidor SMTP en la intranet, sino, deberas usar MAPI)
Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"
------------------
Dim myMail
Set myMail = CreateObject("CDO.message")
'27/6/2007 Cambio de servidor: Error -2147220975(80040211) Servidor not available
Dim cdoConfig
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item(cdoSendUsingMethod) = 2 'cdoSendUsingPort=2
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPServer) = "correo.mismtp.es"
.Item(cdoSendUserName) = "envioauto@tralari.es"
.Item(cdoSendPassword) = "autoenvio"
.Update
End With
Set myMail.Configuration = cdoConfig
myMail.From = "perico@tralari.es"
myMail.To = "perica@tralari.es"
myMail.Subject = "Prueba desde un POGAMA"
myMail.textBody = "Prueba desde EL SUPE-POGAMA"
myMail.Send
Set myMail = Nothing
MsgBox "Enviado"
tengo contratado un hosting con la empresa Godaddy americana y tambien el correo de mi dominio con ellos, he provado mil codigos con ellos y mis servidores como yahoo, hotmail, gmail... y no me funciona el codigo siempre me da este error:
CDO.Message.1 error '80040213'
The transport failed to connect to the server.
/mail.asp, line 32
he probado vuestro codigo que me parec perfecto:
[*CODE*]<!-- El codigo ha sido proporcionado: http://www.tutores.org -->
<a href="http://www.tutores.org">Codigo ofrecido por Tutores.org</a>
<%
Const cdoSendUsingPickup = 1
Const cdoSendUsingPort = 2
Const cdoAnonymous = 0
Const cdoBasic = 1
Const cdoNTLM = 2
Set mensaje = CreateObject("CDO.Message")
mensaje.Subject = "Ejemplo de Cdo con autentificacion de usuario"
mensaje.Sender = "info@pielnatur.com"
mensaje.To = "nivola69@hotmail.com"
mensaje.TextBody = "Este es un ejemplo de texto"
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtpout.secureserver.net"
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/authenticate") = cdoBasic
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "info@pielnatur.com"
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "******"
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
mensaje.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
mensaje.Configuration.Fields.Update
mensaje.Send
%>[*/CODE*]
todos estos parametros en el outlook me funcionan, no enteiendo por que no me va el código, es muy urgente necesito lanzar una web y por todo esto no puedo aun.
Gracias,
Arian
Este código te funcionará, ya que es de una web de godaddy.
______________
<%
Const cdoSendUsingPickup = 1 'Send message using the local SMTP service pickup directory.
Const cdoSendUsingPort = 2 'Send the message using the network (SMTP over the network).
Const cdoAnonymous = 0 'Do not authenticate
Const cdoBasic = 1 'basic (clear-text) authentication
Const cdoNTLM = 2 'NTLM
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Presupuesto desde la web"
objMessage.From = """Super Empresa"" <info@laempresa.com>"
'objMessage.To = "info@laempresa.com"
objMessage.To = "danone_chocolate@hotmail.com"
objMessage.TextBody = "mensajito"
'==This section provides the configuration information for the remote SMTP server.
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'Name or IP of Remote SMTP Server
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.loquesea.com"
'Type of authentication, NONE, Basic (Base64 encoded), NTLM
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
'Your UserID on the SMTP server
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "nombredeusuarioaquidelacuentaemail"
'Your password on the SMTP server
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "contraseniaaquidelacuentaemail"
'Server port (typically 25)
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
'Use SSL for the connection (False or True)
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server)
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objMessage.Configuration.Fields.Update
'==End remote SMTP server configuration section==
objMessage.Send
'Response.Redirect ("enviado.asp")
%>
_______________
http://schemas.microsoft.com/cdo/configuration
cuales son los valores que se asumen por default?
gracias
Saludos
"http://schemas.microsoft.com/cdo/configuration"
ya que en el servidor donde configure en el envio de correos a travez de CDO no tiene internet.
saludos
Me volvi recontra pelotudo porque DATTATEC aparentemente me
cambio la manera de reconocer CDO y me dejaron de funcionar los
envios de EMAIL de la pagina (que es SUPER IMPORTANTE).
Los pelotudos de la mesa de ayuda me tiraron unos codigos que tampoco andaban y me la pase probando de todo hasta que me tope con el codigo de TUTORES que anduvo de primera.
Estoy trabajando un feriado porque estaba preocupado por el tema, asi que te debo 1.000.000 de gracias.
Un abrazo
mensaje.Sender = "yo@mi_domino.com"
mensaje.To = "tu@tu_dominio.com"
Sub enviar_mail()
'Defino las variables como objetos
Dim email As Object
Set email = CreateObject("CDO.Message")
' Set mailconfig = CreateObject("CDO.Configuration")
' Set mfield = mailconfig.Fields
'Configuramos el objeto CDO mediante la dirección del servidor de conf y la declaración siguiente
'También autenticamos el SMTP server, en este caso el de gmail
email.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
email.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusi ng") = 2
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = "465"
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthentic ate") = 1
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontim eout") = 10
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "dirección de correo"
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpasswor d") = "clave"
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl" ) = 1
'sin la configuración anterior no funcionará el código
'completo los campos necesarios del e-mail
'With email
email.To = "persona a quien se envia"
email.From = "quien envia"
email.Subject = "Prueba"
email.TextBody = "Señores esto es una prueba"
email.AddAttachment ("archivo que se anexa")
email.Configuration.Fields.Update
'con este metodo no podemos visualizar el mail, si quisiéramos podríamos hacerlo mediante un formulario
email.Send
'End With
'desvinculo la variable de los objetos
Set email = Nothing
MsgBox "Mail enviado "
End Sub
por favor urgente ayudenme