elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [SOLUCIONADO] Enviar Correo Gmail - Ayuda con CreateObject
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO] Enviar Correo Gmail - Ayuda con CreateObject  (Leído 8,731 veces)
NsTeam

Desconectado Desconectado

Mensajes: 127


Ver Perfil
[SOLUCIONADO] Enviar Correo Gmail - Ayuda con CreateObject
« en: 22 Julio 2009, 06:38 am »

Hola a todos

weno navegando por internet

me tope con un code lo cual lo probe y me funciona  a la perfeccion

pero en la parte que no entendi bien es donde dice





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")




BUeno En Si NO comprendi Bien

Donde tengo que poner Ese Code para no incluir la referencia

Les Dejo el CODE =)





Código:
Option Explicit  
  
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''  
  
' El ejemplo para poder enviar el mail necesita la referencia a: _  
  > Miscrosoft CDO Windows For 2000 Library ( es el archivo dll cdosys.dll )  
  
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''  
    
Private Function Enviar_Mail_CDO(SerVidor_SMTP As String, _  
                             Para As String, _  
                             De As String, _  
                             Asunto As String, _  
                             Mensaje As String, _  
                             Optional Path_Adjunto As String, _  
                             Optional Puerto As String = "25", _  
                             Optional Usuario As String, _  
                             Optional Password As String, _  
                             Optional Usar_Autentificacion As Boolean = True, _  
                             Optional Usar_SSL As Boolean = True) As Boolean  
      
      
    Me.MousePointer = vbHourglass  
      
    ' Variable de objeto Cdo.Message  
    Dim Obj_Email As CDO.Message  
            
      
    ' Crea un Nuevo objeto CDO.Message  
    Set Obj_Email = New CDO.Message  
      
    ' Indica el servidor Smtp para poder enviar el Mail ( puede ser el nombre _  
      del servidor o su dirección IP )  
    Obj_Email.Configuration.Fields(cdoSMTPServer) = SerVidor_SMTP  
      
    Obj_Email.Configuration.Fields(cdoSendUsingMethod) = 2  
      
    ' Puerto. Por defecto se usa el puerto 25, en el caso de Gmail se usan los puertos _  
      465 o  el puerto 587 ( este último me dio error )  
      
    Obj_Email.Configuration.Fields.Item _  
        ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(Puerto)  
  
      
    ' Indica el tipo de autentificación con el servidor de correo _  
     El valor 0 no requiere autentificarse, el valor 1 es con autentificación  
    Obj_Email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/" & _  
                "configuration/smtpauthenticate") = Abs(Usar_Autentificacion)  
      
      
      
        ' Tiempo máximo de espera en segundos para la conexión  
    Obj_Email.Configuration.Fields.Item _  
        ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30  
  
      
    ' Configura las opciones para el login en el SMTP  
    If Usar_Autentificacion Then  
  
    ' Id de usuario del servidor Smtp ( en el caso de gmail, debe ser la dirección de correro _  
     mas el @gmail.com )  
    Obj_Email.Configuration.Fields.Item _  
        ("http://schemas.microsoft.com/cdo/configuration/sendusername") = Usuario  
  
    ' Password de la cuenta  
    Obj_Email.Configuration.Fields.Item _  
        ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Password  
  
    ' Indica si se usa SSL para el envío. En el caso de Gmail requiere que esté en True  
    Obj_Email.Configuration.Fields.Item _  
        ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Usar_SSL  
      
    End If  
      
  
    ' *********************************************************************************  
    ' Estructura del mail  
    '**********************************************************************************  
      
    ' Dirección del Destinatario  
    Obj_Email.To = Para  
      
    ' Dirección del remitente  
    Obj_Email.From = De  
      
    ' Asunto del mensaje  
    Obj_Email.Subject = Asunto  
      
    ' Cuerpo del mensaje  
    Obj_Email.TextBody = Mensaje  
      
    'Ruta del archivo adjunto  
      
    If Path_Adjunto <> vbNullString Then  
        Obj_Email.AddAttachment (Path_Adjunto)  
    End If  
      
    ' Actualiza los datos antes de enviar  
    Obj_Email.Configuration.Fields.Update  
      
    On Error Resume Next  
    ' Envía el email  
    Obj_Email.Send  
      
      
    If Err.Number = 0 Then  
       Enviar_Mail_CDO = True  
    Else  
       MsgBox Err.Description, vbCritical, " Error al enviar el amil "  
    End If  
      
    ' Descarga la referencia  
    If Not Obj_Email Is Nothing Then  
        Set Obj_Email = Nothing  
    End If  
      
    On Error GoTo 0  
    Me.MousePointer = vbNormal  
  
End Function  
  
Private Sub Command1_Click()  
      
    Dim ret As Boolean  
      
    ' Asegurarse de pasar bien los últimos dos parámetros _  
     ( Si usa login y si el server usa SSL)  
      
    ret = Enviar_Mail_CDO(txt_Servidor, _  
                          txt_Para, _  
                          txt_De, _  
                          txt_Asunto, _  
                          txt_Mensaje, _  
                          txt_Adjunto, _  
                          txt_Puerto, _  
                          txt_Usuario, _  
                          txt_Password, _  
                          True, _  
                          True)  
      
    ' Si devuelve true es por que no hubo errores en el envio  
    If ret Then  
        MsgBox " .. Maneje enviado ", vbInformation  
    End If  
End Sub  
  
Private Sub Form_Load()  
  
    Me.Caption = " Ejemplo para enviar correo usando la libreria Microsoft CDO "  
    Command1.Caption = " Enviar mail "  
      
    txt_Servidor.Text = "smtp.gmail.com"  
    txt_Para = "destinatario@dominio.com"  
    txt_De = "remitente@dominio.com"  
    txt_Asunto = "Prueba"  
    txt_Mensaje = " ... Cuerpo del mensaje "  
    txt_Adjunto = vbNullString  
    txt_Puerto.Text = 465  
    txt_Password = ""  
    txt_Usuario = ""  
End Sub  








Bueno tambien les dejo la Web para que me entiendan =)

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/337-enviar-correo-en-vb-con-microsoft-cdo.htm

espero Alguna respuesta =)

gracias de antemano ;)


« Última modificación: 22 Julio 2009, 17:18 pm por NsTeam » En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Enviar Correo Gmail - Ayuda con CreateObject
« Respuesta #1 en: 22 Julio 2009, 16:58 pm »

Código
  1. Option Explicit  
  2.  
  3. Private Function Enviar_Mail_CDO(SerVidor_SMTP As String, _  
  4.                             Para As String, _  
  5.                             De As String, _  
  6.                             Asunto As String, _  
  7.                             Mensaje As String, _  
  8.                             Optional Path_Adjunto As String, _  
  9.                             Optional Puerto As String = "25", _  
  10.                             Optional Usuario As String, _  
  11.                             Optional Password As String, _  
  12.                             Optional Usar_Autentificacion As Boolean = True, _  
  13.                             Optional Usar_SSL As Boolean = True) As Boolean  
  14.  
  15.  
  16.    Me.MousePointer = vbHourglass  
  17.  
  18.    ' Variable de objeto Cdo.Message  
  19.    Dim Obj_Email As Object 'As CDO.Message  
  20.  
  21.  
  22.    ' Crea un Nuevo objeto CDO.Message  
  23.    ' Set Obj_Email = New CDO.Message  
  24.    Set Obj_Email = CreateObject("CDO.Message")  
  25.  
  26.    ' Indica el servidor Smtp para poder enviar el Mail ( puede ser el nombre _  
  27.      del servidor o su dirección IP )  
  28.    Obj_Email.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SerVidor_SMTP  
  29.  
  30.    Obj_Email.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2  
  31.  
  32.    ' Puerto. Por defecto se usa el puerto 25, en el caso de Gmail se usan los puertos _  
  33.      465 o  el puerto 587 ( este último me dio error )  
  34.  
  35.    Obj_Email.Configuration.Fields.Item _  
  36.        ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(Puerto)  
  37.  
  38.  
  39.    ' Indica el tipo de autentificación con el servidor de correo _  
  40.     El valor 0 no requiere autentificarse, el valor 1 es con autentificación  
  41.    Obj_Email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/" & _  
  42.                "configuration/smtpauthenticate") = Abs(Usar_Autentificacion)  
  43.  
  44.  
  45.  
  46.        ' Tiempo máximo de espera en segundos para la conexión  
  47.    Obj_Email.Configuration.Fields.Item _  
  48.        ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30  
  49.  
  50.  
  51.    ' Configura las opciones para el login en el SMTP  
  52.    If Usar_Autentificacion Then  
  53.  
  54.    ' Id de usuario del servidor Smtp ( en el caso de gmail, debe ser la dirección de correro _  
  55.     mas el @gmail.com )  
  56.    Obj_Email.Configuration.Fields.Item _  
  57.        ("http://schemas.microsoft.com/cdo/configuration/sendusername") = Usuario  
  58.  
  59.    ' Password de la cuenta  
  60.    Obj_Email.Configuration.Fields.Item _  
  61.        ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Password  
  62.  
  63.    ' Indica si se usa SSL para el envío. En el caso de Gmail requiere que esté en True  
  64.    Obj_Email.Configuration.Fields.Item _  
  65.        ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Usar_SSL  
  66.  
  67.    End If  
  68.  
  69.  
  70.    ' *********************************************************************************  
  71.    ' Estructura del mail  
  72.    '**********************************************************************************  
  73.  
  74.    ' Dirección del Destinatario  
  75.    Obj_Email.To = Para  
  76.  
  77.    ' Dirección del remitente  
  78.    Obj_Email.From = De  
  79.  
  80.    ' Asunto del mensaje  
  81.    Obj_Email.Subject = Asunto  
  82.  
  83.    ' Cuerpo del mensaje  
  84.    Obj_Email.TextBody = Mensaje  
  85.  
  86.    'Ruta del archivo adjunto  
  87.  
  88.    If Path_Adjunto <> vbNullString Then  
  89.        Obj_Email.AddAttachment (Path_Adjunto)  
  90.    End If  
  91.  
  92.    ' Actualiza los datos antes de enviar  
  93.    Obj_Email.Configuration.Fields.Update  
  94.  
  95.    On Error Resume Next  
  96.    ' Envía el email  
  97.    Obj_Email.Send  
  98.  
  99.  
  100.    If Err.Number = 0 Then  
  101.       Enviar_Mail_CDO = True  
  102.    Else  
  103.       MsgBox Err.Description, vbCritical, " Error al enviar el amil "  
  104.    End If  
  105.  
  106.    ' Descarga la referencia  
  107.    If Not Obj_Email Is Nothing Then  
  108.        Set Obj_Email = Nothing  
  109.    End If  
  110.  
  111.    On Error GoTo 0  
  112.    Me.MousePointer = vbNormal  
  113.  
  114. End Function  
  115.  
  116. Private Sub Command1_Click()  
  117.  
  118.    Dim ret As Boolean  
  119.  
  120.    ' Asegurarse de pasar bien los últimos dos parámetros _  
  121.     ( Si usa login y si el server usa SSL)  
  122.  
  123.    ret = Enviar_Mail_CDO(txt_Servidor, _  
  124.                          txt_Para, _  
  125.                          txt_De, _  
  126.                          txt_Asunto, _  
  127.                          txt_Mensaje, _  
  128.                          txt_Adjunto, _  
  129.                          txt_Puerto, _  
  130.                          txt_Usuario, _  
  131.                          txt_Password, _  
  132.                          True, _  
  133.                          True)  
  134.  
  135.    ' Si devuelve true es por que no hubo errores en el envio  
  136.    If ret Then  
  137.        MsgBox " .. Maneje enviado ", vbInformation  
  138.    End If  
  139. End Sub  
  140.  
  141. Private Sub Form_Load()  
  142.  
  143.    Me.Caption = " Ejemplo para enviar correo usando la libreria Microsoft CDO "  
  144.    Command1.Caption = " Enviar mail "  
  145.  
  146.    txt_Servidor.Text = "smtp.gmail.com"  
  147.    txt_Para = "destinatario@dominio.com"  
  148.    txt_De = "remitente@dominio.com"  
  149.    txt_Asunto = "Prueba"  
  150.    txt_Mensaje = " ... Cuerpo del mensaje "  
  151.    txt_Adjunto = vbNullString  
  152.    txt_Puerto.Text = 465  
  153.    txt_Password = ""  
  154.    txt_Usuario = ""  
  155. End Sub  


« Última modificación: 22 Julio 2009, 17:06 pm por Karcrack » En línea

NsTeam

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: [SOLUCIONADO] Enviar Correo Gmail - Ayuda con CreateObject
« Respuesta #2 en: 22 Julio 2009, 17:19 pm »

Muchas Gracias MAn

Lo Prove y me anda a la perfeccion =)

Te lo agradezco ;)
En línea

Lupin

Desconectado Desconectado

Mensajes: 153



Ver Perfil
Re: [SOLUCIONADO] Enviar Correo Gmail - Ayuda con CreateObject
« Respuesta #3 en: 22 Julio 2009, 18:58 pm »

hola probe el ejemplo y no funciona . Me cree una cuenta en gmail  y me sale lo siguiente "error de trasnporte en la conexion al servidor"
En línea

NsTeam

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: [SOLUCIONADO] Enviar Correo Gmail - Ayuda con CreateObject
« Respuesta #4 en: 23 Julio 2009, 01:44 am »

hola probe el ejemplo y no funciona . Me cree una cuenta en gmail  y me sale lo siguiente "error de trasnporte en la conexion al servidor"

verifica tu conexión de internet

y date cuenta si los datos que rellentaste Fueron Correctos
En línea

Lupin

Desconectado Desconectado

Mensajes: 153



Ver Perfil
Re: [SOLUCIONADO] Enviar Correo Gmail - Ayuda con CreateObject
« Respuesta #5 en: 23 Julio 2009, 03:09 am »

No creo que sea la conexion internet porque igual puedo mandar correos con otros programas.....parece k el problema es el servidor o derepente el hecho k no use las referencias (pero si hice eso es pork use el codigo de Karcrack )

¿hay limitaciones con los servidores ,solo tiene que ser de gmail a gmail?
¿teniendo una cuenta en gmail se puede enviar a correos de hotmail?
En línea

NsTeam

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: [SOLUCIONADO] Enviar Correo Gmail - Ayuda con CreateObject
« Respuesta #6 en: 23 Julio 2009, 03:15 am »

No creo que sea la conexion internet porque igual puedo mandar correos con otros programas.....parece k el problema es el servidor o derepente el hecho k no use las referencias (pero si hice eso es pork use el codigo de Karcrack )

¿hay limitaciones con los servidores ,solo tiene que ser de gmail a gmail?
¿teniendo una cuenta en gmail se puede enviar a correos de hotmail?


Yo Probe COn Hotmail
Pero Me di cuenta que hotmail no acepta Spam xD

Por Eso lo hice con Gmail
lo cual me anda A la perfeccion ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines