30.1.08

E-Mail con ASP y CDOSYS

CDOSYS es el remplazo del viejo CDONT que hasta Windows 2000 venía con el IIS, dejó de soportarse en la versión 5.1. A partir de Windows XP y Windows 2003, o mejor dicho de la versión IIS 5.x, está disponible el CDO (Collaboration Data Objects).

Ejemplos

Caso típico (con attach)

Para enviar un correo electrónico hay que seguir los siguientes pasos

<%
'creación del objeto que enviará el mensaje
Set oMail = Server.CreateObject("CDO.Message")

urlms = "http://schemas.microsoft.com/cdo/configuration/"
with oMail
'CONFIGURACION SMTP *******************************************************
   'se puedo obviar la propiedad Item, pero en .NET es obligatoria
   .Configuration.Fields.Item(urlms  & "sendusing") = 2 'enviar usando port
   .Configuration.Fields.Item(urlms  & "smtpserver") = "10.223.240.104"
   .Configuration.Fields.Item(urlms  & "smtpserverport") = 25
   .Configuration.Fields.Item(urlms  & "smtpusessl") = False
   .Configuration.Fields.Item(urlms  & "smtpconnectiontimeout") = 60
   '.Configuration.Item(lcSchema + "smtpauthenticate") = true
   '.Configuration.Item(lcSchema + "sendusername") = "usuario" 'login
   '.Configuration.Item(lcSchema + "sendpassword") = "clave" 'password

   .Configuration.Fields.Update
'FIN DE CONFIGURACION SMTP ************************************************

   'quien envía
   .From = "yoyoyo@mapfre.com.ar"

   .To = "vosvos@gmail.com"
   'para múltiples recipientes, sepárelos con un punto y coma
   '.To = "vosvos@gmail.com; otrovosvos@server.com"

   'Copia carbón
   .CC = "otro_mail@mm.com"

   'copia oculta
   .BCC = "otro_mail.mas@mail.com.uk"

   'sujeto
   .Subject= "Prueba de e-mail via CDOSYS"

   'CUERPO
   'para correo html se usa .HTMLBody
   .TextBody = "Mi mensaje"

   'agregar un archivo
   .AddAttachment Server.MapPath("/") & "\myArch.zip"

   .Send
end with

Set oMail = Nothing
%>

Código de caracteres especiales

Si es necesario enviar alguna página de código en especial:

<%
...

with oMail
  ...

   .From = "yoyoyo@mapfre.com.ar"
   .To = "vosvos@gmail.com"

   .Subject= "Prueba de e-mail via CDOSYS"

   Set b = .bodypart
   b.charset = "unicode-1-1-utf-7"

   .TextBody = "El costo de la reparación será de quot;

   .Send
end with

...
%>

Nombres en lugar de direccines

Para que el receptor vea los nombres en lugar de la dirección electrónica:

<%
...

with oMail
  ...

   .From = "Mi Nombre <yoyoyo@mapfre.com.ar>"
   .To = "Tu Nombre <vosvos@gmail.com>"

   .Subject= "Prueba de e-mail via CDOSYS"

   .TextBody = "Texto"

   .Send
end with

...
%>

Imágenes embebidas

Para agregar imágenes embebidas en el mensaje:

<%
...

with oMail
  ...

   .From = "Mi Nombre <yoyoyo@mapfre.com.ar>"
   .To = "Tu Nombre <vosvos@gmail.com>"
   .Subject= "Prueba de e-mail via CDOSYS"

   'parametro 1= ubicacion y nombre, 2=CID, 3=tipo de referencia (CdoReferenceTypeName)
   .AddRelatedBodyPart Server.MapPath("/imagenes") & "\exit.gif", "exit", 1

   .HTMLBody = "<b style='color:red'>mi imagen</b> " _
             & "<img src='cid:exit' />"

   .Send
end with

...
%>

Mandar una página html

Si necesitamos mandar una página de un sitio o, en caso de ser un archivo de servidor, el resultado de la misma:

<%
...

with oMail
  ...

   .From = "Mi Nombre <yoyoyo@mapfre.com.ar>"
   .To = "Tu Nombre <vosvos@gmail.com>"
   .Subject= "Prueba de e-mail via CDOSYS"

   .CreateMHTMLBody "http://www.mapfre.com.ar/stats/stat.htm"
   .Send
end with

...
%>
En caso de querer mandar una página html que se encuentre en nuestra PC, simplemente debemos cambiar el protocolo y agregar el camino completo de la imagen en nuestro disco: file://c:\micarpeta\mipagina.htm

5 Comentarios:

Tucho dice...

buena, lo pruebo pero me tira error en el send


CDO.Message.1 error '80040213'

Error de transporte en la conexión al servidor.

Anónimo dice...

ПРИОР Ивестиционно-строительная компания предлагает :
- капитальный ремонт квартир и офисов по доступным ценам
- Евроремонт квартир ,домиков также офисных помещений с любым обьемом работ
- качественный ремонт, восстановление промышленых и также жилых зданий
- фирменный ремонт а также реставрация торговых, игровых и развлекательных центров,медицинских,финансовых также правительственных учреждений.
- все виды строительно-инженерных, отделочных работ,покраска,побелка,стяжка,поклейка обоев ,плитка и пр.
- контроль также гарантия качественного исполнения работ,
Летние скидки на все виды работ
http://rem.rv.ua

Anónimo dice...

ПРИОР Ивестиционно-строительная компания предлагает :
- первоклассный ремонт квартир и офисов по низким ценам
- Евроремонт квартир ,дач и офисных помещений с любым обьемом работ
- комплексный ремонт, реставрация промышленых и жилых зданий
- комплексный ремонт и также переделка торговых, игровых и развлекательных центров,медицинских,финансовых и правительственных учреждений.
- все виды строительно-инженерных, отделочных работ,покраска,побелка,стяжка,поклейка обоев ,плитка и пр.
- контроль и также гарантия качественного выполнения работ,
Летние скидки на все виды работ
http://rem.rv.ua

Anónimo dice...

ПРИОР Строительно-инвестиционная фирма предлагает :
- комплексный ремонт квартир и офисов по приемлемым ценам
- Евроремонт квартир ,коттеджей и офисных помещений с любым обьемом работ
- отличный ремонт, обновление промышленых также жилых зданий
- качественный ремонт и реставрация торговых, игровых и развлекательных центров,медицинских,финансовых также правительственных учреждений.
- все виды строительно-инженерных, отделочных работ,покраска,побелка,стяжка,поклейка обоев ,плитка и пр.
- контроль также гарантия качественного производства работ,
Летние скидки на все виды работ
http://remontkiev.org.ua

Anónimo dice...

Если у Вас : появились боли в спине или ощущаются боли в шее или появились боли в позвоночнике или появились боли в пояснице то посмотрите наш сайт посвященный лечению остеохондроза [url=http://astreyasystem.narod.ru]головокружение +при шейном остеохондрозе [/url] и возможно Вас заинтересует семинары по излечению остеохондроза (и не только) с помощью методики АСТРЕЯ.