Sección de códigos , trucos y ejemplos para visual basic


337 - Enviar correo con Microsoft CDO

<Volver> - Anterior - Siguiente



 

 

Contenido:

 

 

 

 


Ejemplo 1

Código fuente de ejemplo , que muestra como enviar email desde visual basic utilizando la referencia a Microsoft CDO for windows 2000 library.

Como dice el títiulo, este componente activex solo se puede utilizar en versiones de windows 2000 en adelante ( desconozco si funciona bien en windows vista )

El ejemplo que se muestra a continuación, muestra como enviar un correo, mediante un servidor SMTP que requiere autentificación, es decir que se debe especificar : el servidor SMTP, el Id de usuario, la contraseña entre otras cosas

 

Vista del formulario

vista previa del formulario de ejemplo para enviar el correo electrónico

 

Nota: yo intenté usar este mismo ejemplo mediante una cuenta de yahoo pero me dió error.

Con Gmail funciona perfecto.

Para poder usar el servidor SMTP de Gmail, se debe tener en cuenta los siguientes datos al momento de configurar el componente Microsoft CDO

  1. El nombre del servidor debe ser : smtp.gmail.com
  2. El puerto que dispone google para dichos servidores es el 465 o el 587. A mi este ultimo me dió error
  3. El nombre de usuario para la autentificación, debe ser el nombre de la cuenta de correo de gmail, incluyendo el @gmail.com .
  4. El password es la misma contraseña de logueo para la cuenta de Gmail
  5. Una cosa importante, es que como Gmail utiliza SSL para el correo, debemos indicar en el código que se utilizará SSL, si no no funcionará

 

Para usar el la referencia primero se debe agregar el componente Activex Microsoft CDO desde el menú referencias:

vista de la ventana para agregar la referencia a Microsoft CDO

 

Si se quiere hacer mediante automatización, para no incluir la referencia se debe crear el objeto con CreateObject

Dim Obj As Object

Set Obj = CreateObject("CDO.Message") 

 

Controles para el formulario

Añadir los siguietnes controles como muestra el gráfico que está al comienzo de la página

Controles del primer Frame " datos remotos "

  1. Un control Textbox para indicar el servidor SMTP ( puede ser la dirección ip o el nombre del servidor de mail ) : txt_Servidor
  2. Un textbox para el puerto ( si no se indica el puerto se usa por defecto el 25 ) : txt_Puerto
  3. Un text para el id de usuario de la cuenta : txt_Usuario
  4. Un text para el password : txt_Password

Controles para el Frame " datos del mensaje "

  1. Un textbox para el nombre del remitente : txt_De
  2. textbox para el destinatario : txt_Para
  3. Textbox para el texto del asunto : txt_Asunto
  4. Testbox para el archivo adjunto : txt_Adjunto
  5. textbox para el texto del mensaje : txt_Mensaje
  6. Un CommandButton para enviar el mail : Command1

 

 

Código fuente en el formulario

 

Nota: En los últimos dos parámetros de la función EnviarEmail, se indica si el servidor requiere autentificación ( parámetro Usar_Autentificacion por defecto es True) y el otro Usar_SSL ( por defecto es True).

Si estos datos del servidor SMTP son incorrectos, nos dará error al enviar el mail, por lo tanto averiguar bien los datos del server para ahorrarnos dolores de cabeza ( lo mismo para el puerto que utiliza, ya que algunos no utilizan el puerto por default que es el 25)

Nota sobre archivos adjuntos : si se desea enviar varios archivos en el mismo mensaje , se debe ejecutar el método para cada archivo, por ejemplo :

 


Ejemplo 2

En este otro enlace , podés descargar un ejemplo similar usando CDO pero mediante un módulo de clase : Descargar ( para implementarlo mas fácilmente )


Recursos vb 6.0 - Enlaces relacionados

 



Buscar en Recursos vb