** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Correos_Gmail
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoCorreos_Gmail

 Responder Responder
Autor
Mensaje
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1301
Enlace directo a este mensaje Tema: Correos_Gmail
    Enviado: 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?
Arriba
trple XXX Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 24/Enero/2023
Localización: colomba
Estado: Sin conexión
Puntos: 44
Enlace directo a este mensaje Enviado: 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
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14428
Enlace directo a este mensaje Enviado: 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.

Access Aplicaciones
Tecsys.es
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1301
Enlace directo a este mensaje Enviado: 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?.
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 2095
Enlace directo a este mensaje Enviado: 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
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 2095
Enlace directo a este mensaje Enviado: 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


Editado por ximo - 08/Julio/2025 a las 13:21
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1301
Enlace directo a este mensaje Enviado: 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.

Editado por main - 21/Agosto/2025 a las 09:49
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1301
Enlace directo a este mensaje Enviado: 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.
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1301
Enlace directo a este mensaje Enviado: 02/Septiembre/2025 a las 21:40
Este hilo puede cerrarse. Gracias
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable