Imprimir página | Cerrar ventana

Correos_Gmail

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=87072
Fecha de impresión: 26/Marzo/2026 a las 13:27


Tema: Correos_Gmail
Publicado por: main
Asunto: Correos_Gmail
Fecha de publicación: 06/Junio/2025 a las 11:41
Muy buenas a todos.
Hace ya unos cuantos años, creo recordar que se podían leer los correos desde access, incluso sus adjuntos. No se si era un control "Msinet" o algo parecido que iba de maravilla. Sabeis si todavía hoy se puede implementar. Si es así, donde puedo encontrar algún ejemplo?



Respuestas:
Publicado por: trple XXX
Fecha de publicación: 20/Junio/2025 a las 04:39

Hola   buen  dia para   todos !!!!!

Tengo la misma pregunta.

Lo unico  que  he logrado encontrar (access  2007) es que si  abro una tabla me aparece  en la  cinta  de opciones "recopilar  datos" y  dentro  de ese menu "crear correo electronico"  y "administrar respuestas".

Al ejecutar crear correo  se abre OUTLOOK y me  pide configurarlo;  me  pide unos parametros  que no  conozco  como servidor pop  y otras cosas.

Alguien  sabe otra forma de enviar  correos???.



gracias


-------------
SOLO SE QUE NADA SE


Publicado por: Mihura
Fecha de publicación: 20/Junio/2025 a las 08:49
¿Enviar correos sin Outlook?

Busca por CDO (hay abundantes ejemplos en el foro, en este y en el off-line). También se puede hacer con PowerShell o con Microsoft Graph, estos no los he usado y me creo que en el foro no debe de haber nada.

Un saludo.





-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: main
Fecha de publicación: 05/Julio/2025 a las 08:24
Yo trabajo casi todo con CDO y de momento no me quejo, pero quiero recordar, ahora,  que el Buho tenia en su pagina un ejemplo, que ahora no encuentro y que valia para lo que prtendo. De hecho lo usé una gran temporada. Alguno conoce ese enlace?.


Publicado por: ximo
Fecha de publicación: 08/Julio/2025 a las 13:16
Hola,
si no recuerdo mal, el cdo dejo de funcionar con gmail pues cambiaron unas políticas en google.

Saludos, ximo


-------------
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana


Publicado por: ximo
Fecha de publicación: 08/Julio/2025 a las 13:19
Hola,
Aquí lo tienes.

'*******************************************************************************
'* mdlEnviarCorreo
'* Envío de email a traves de CDO
'* Búho 01/02/05
'*******************************************************************************

Option Compare Database
Option Explicit


'aqui cambia el servidor de correo saliente, usuario y contraseña segun proceda.
'lo pongo a piñon fijo, que lo cambie el programador de cada applicación

Private Const StrServer As String = "smtp.gmail.com"
Public Const strusuario As String = "info.numisoftware@gmail.com"
Private Const strpassword As String = "************"



Function EnviaCorreo(Optional IntFormato As Integer = 1)
    Dim ObjetoMensajeLibre As Object, strHTML As String
    Dim strRutaAdjunto As String
    Dim strCuerpo As String
    strRutaAdjunto = CurrentProject.Path & "\LogErrores.txt"
    strCuerpo = "Incidencia de Numisoftware_1.0.0.0, se adjunta fichero."
    'Enviando Correo utilizando autentificación remota del server
    ' Creamos el objeto.
    On Error GoTo EnviaCorreoLibre_Err
    Set ObjetoMensajeLibre = CreateObject("CDO.Message")

    ' A quien va el mensaje. Para multimples destinos, separa las direcciones de correo por «;»
    ObjetoMensajeLibre.To = "info.numisoftware@gmail.com"

    ' Aquí va el asunto
    ObjetoMensajeLibre.Subject = "Incidencia en el programa, Numisoftware_2.5.0."

    'Quien envía el correo. ! ojo ! solo funciona con esta sitaxis:
    ' Nombre <tucuenta@tuservidor.com>
    'es decir, por ejemplo: Francisco Javier garcía Aguado<paco@nemo.es>
    'Ojo al dato pues
    ' OJO  OJO  OJO  OJO :
    ObjetoMensajeLibre.FROM = "Numisoftware_2.5.0<info.numisoftware@gmail.com>"
    'se rechaza si no se recibe una cadena tipo <algo@algo.es>

    Select Case IntFormato

    Case 1
        'Aqui va el cuerpo sin formato
        ObjetoMensajeLibre.TextBody = "Incidencia de Numisoftware_2.5.0, se adjunta fichero."
    Case 2
        ' Si quieres formato HTML:
        ' Formato HTML en el cuerpo del mensaje.
        strHTML = "<HTML>"
        strHTML = strHTML & "<HEAD>"
        strHTML = strHTML & "<BODY>"
        strHTML = strHTML & _
                  "<b>" & Replace(strCuerpo, vbCrLf, "<Br>") & "</b></br>"
        strHTML = strHTML & "</BODY>"
        strHTML = strHTML & "</HTML>"
        ObjetoMensajeLibre.HTMLBody = strHTML
    Case Else
        ObjetoMensajeLibre.TextBody = strCuerpo
    End Select

    ' Para fichero adjunto:
    If Len(strRutaAdjunto) <> 0 Then
        ObjetoMensajeLibre.addattachment ("file://" & strRutaAdjunto)
    End If


    '****************************************************
    'Aqui comienza en si las configuraciones del server de correo remoto
    ' ****************************************************
    ObjetoMensajeLibre.Configuration.Fields.Item( _
            "http://schemas.microsoft.com/cdo/configuration/sendusing") = 2


    '  Aquí puedes poner, bien el literal, bien la IP
    'de la maquina remota del server.

    ObjetoMensajeLibre.Configuration.Fields.Item( _
            "http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
            StrServer    ' recuerda, _
                         es tu servidor de correo...lo puedes ver en las configuraciones
    '  de tu gestor de correo

    'Ahora especificamos el tipo de autentificacion que el server espera:

    ObjetoMensajeLibre.Configuration.Fields.Item( _
            "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    'ConstanteCDOA_Basica

    ' Aquí el nombre de usuario que el sever espera recibir(Lo puedes ver en las configuraciones
    'de las cuentas de Outlook y Outlook  Express:

    ObjetoMensajeLibre.Configuration.Fields.Item( _
            "http://schemas.microsoft.com/cdo/configuration/sendusername") = _
            strusuario

    ' Aquí el password (Contraseña) del usuario (Tambien la sacas de la configuracion del OE & Outlook)

    ObjetoMensajeLibre.Configuration.Fields.Item( _
            "http://schemas.microsoft.com/cdo/configuration/sendpassword") = _
            strpassword

    'Aqui el puerto. Casi siempre el 25.... asi que lo dejo a a piñon fijo
    ObjetoMensajeLibre.Configuration.Fields.Item( _
            "http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465

    'Si estas usando SSL para la conexión. Valores (False or True)
    ObjetoMensajeLibre.Configuration.Fields.Item( _
            "http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True

    ' Tiempo en segundos para que se establezca correctamente el protocolo SMTP.
    ObjetoMensajeLibre.Configuration.Fields.Item( _
            "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

    ' Guardamos....
    ObjetoMensajeLibre.Configuration.Fields.Update
    DoCmd.Hourglass True
    ' Y ! POR FIN !  enviamos
    ObjetoMensajeLibre.Send
    Screen.MousePointer = 0
    If Not ObjetoMensajeLibre Is Nothing Then
        Set ObjetoMensajeLibre = Nothing
    End If
        MsgBox DaMsg(398)

    Screen.MousePointer = vbNormal
EnviaCorreoLibre_Exit:
    Exit Function
EnviaCorreoLibre_Err:
    MsgBox "Error nº " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
           "en procedimiento EnviaCorreoLibre de Módulo ModuloCdo", vbCritical, "Aviso de error"
    Resume EnviaCorreoLibre_Exit
End Function


Saludos, ximo


-------------
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana


Publicado por: main
Fecha de publicación: 21/Agosto/2025 a las 09:48
Lo que yo pretendo no es enviar correos con CDO, que ya lo hago continuamente. Lo que quiero es poder leer los correos recibidos (Remitente,Asunto, Body etc) incluso descargar sus adjuntos, si los tiene. Todo ello desde access sin entrar en GMAIL. Y si el correo, a traves de esa informacion, no es de mi interes poder eliminarlo o bien descargarlo a mi tabla de "Correos".Hasta ahora solo puedo registrar los enviados.


Publicado por: main
Fecha de publicación: 26/Agosto/2025 a las 14:38
ALGUNO SABE SI TODAVIA SE PUEDE UTILIZAR WINSOCK PARA LEER LOS POP3 PORQUE YA ME DIJERON QUE LOS IMAP ES IMPOSIBLE.


Publicado por: main
Fecha de publicación: 02/Septiembre/2025 a las 21:40
Este hilo puede cerrarse. Gracias



Imprimir página | Cerrar ventana