** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Envio notificación via email (gmail)
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoEnvio notificación via email (gmail)

 Responder Responder Página  12>
Autor
Mensaje
biolarry72 Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Abril/2013
Localización: España
Estado: Sin conexión
Puntos: 151
Enlace directo a este mensaje Tema: Envio notificación via email (gmail)
    Enviado: 18/Septiembre/2015 a las 12:42
Option Compare Database
Option Explicit

Public Sub envioGMail(idUsuario As String) ' (,CorreoE as string)
'Requiere registro de librería "Microsoft CDO for Windows 2000 Library"
On Error GoTo sol_err
        'Declaramos las variables
    Dim elAsunto As String, elMsg As String
    Dim elMail As String
        'Inicializamos las variables
    elAsunto = "Acceso del usuario: " & DLookup("Nom", "Usuarios", "usuario=" & "'" & idUsuario & "'")
    elMsg = "El usuario " & DLookup("Nom", "Usuarios", "usuario=" & "'" & idUsuario & "'") _
                & " ha accedido a la aplicación el " & Date & " a las " & Time
    elMail = "micorreo@gmail.com"
        'Configuramos el bloque CDO
    Dim cdoConfig
    Dim msgOne
    Set cdoConfig = CreateObject("CDO.Configuration")
    With cdoConfig.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = 465
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.googlemail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "micorreo@gmail.com" 'Mail propio
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Mipassword" 'Contraseña mail
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
        .Update
    End With
        'Configuramos el mensaje
    Set msgOne = CreateObject("CDO.Message")
    Set msgOne.Configuration = cdoConfig
        'Me lo envío a mi mismo por la mecánica del ejemplo
    msgOne.To = elMail 'CorreoE
    msgOne.From = elMail
        '--------------------------------------------------
    msgOne.Subject = elAsunto
    msgOne.TextBody = elMsg
    msgOne.Send
        'Avisamos de que el envío ha ido bien
    MsgBox "Mensaje enviado con éxito", vbInformation, "CORRECTO"
    Set cdoConfig = Nothing
Salida:
    Exit Sub
sol_err:
    MsgBox Err.Number & ": " & Err.Description
    Resume Salida
End Sub


Hola a tod@s. Vuelvo a ver si me pueden echar una mano con este codigo.

Me facilitaron este codigo. No es el original ya que cambié el tipo de variable de long a string y lo que ello conlleva. Lo hice funcionar y me da un error de Windows que dice así mas o menos "-2147220975: No se pudo enviar mensaje al servidor SMTP. El codigo de error de transporte fue 0x800cc15. La respuesta del servidor fue not available" Alguna idea de lo que pueda estarme pasando? Lo he probado en máquinas distintas y con versiones access distintas. 2003 y 2010. Piebso que debo tener mal configurado algo pero no se que. Agradecido por cualquuer tipo de ayuda u orientación. Gracias
Heute schöne tag
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3377
Enlace directo a este mensaje Enviado: 18/Septiembre/2015 a las 15:44
Hola.
Mira esta información por sí fuese el caso:

https://support.google.com/mail/answer/78775?hl=es

Espero que ayude a resolver la duda.
Ya comentas.
Un saludo a todos
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5261
Enlace directo a este mensaje Enviado: 18/Septiembre/2015 a las 15:57
Ya probaste el smtpserver con 25 en lugar de 465
Seguro que es smtp.googlemail.com  intentalo así también:
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
Y ya por no dejar cambia esto también
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1
 
Saludos.
 
 

 
Arriba
biolarry72 Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Abril/2013
Localización: España
Estado: Sin conexión
Puntos: 151
Enlace directo a este mensaje Enviado: 18/Septiembre/2015 a las 18:35
Gracias por contestar a los dos. He estado mirando por Internet como saber el servidor smtp del correo y he visto que haciendo un ping en DOS: ping smtp.gmail.com me hace el ping con un servidor distinto a smtp.gmail.com. es algo asi como smtp-gmail-l-google.com. Como estoy con el movil ahora no puedo probarlopero igual es que han ccambiado el server. Si que lo he probado con 25 y con los dos no me funciona por lo que me decanto por esto último de cambio de servidor mail. Lo pruebo y comento.

P.D. me asombro lo que una "tontería" que pretendo hacer y los problemas que me surgen pueda aprender a buscar y solucionar cosas de las que nunca habia oido hablar ya que no soy informatico ni me dedico profesionalmente a esto. Gracias por sus comentarios. Un saludo

edito: no lo he visto antes igual lo de googlemail ha sido por el corrector del móvil. Lo compruebo en el programa y si lo tengo mal lo pongo smtp.gmail.com como debe ser.

Editado por biolarry72 - 18/Septiembre/2015 a las 18:40
Heute schöne tag
Arriba
biolarry72 Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Abril/2013
Localización: España
Estado: Sin conexión
Puntos: 151
Enlace directo a este mensaje Enviado: 21/Septiembre/2015 a las 12:14
Hola de nuevo.

efectivamente tenia mal el servidor. Era smtp.gmail.com. lo he probado de las formas que me sugerieron y me da el mismo error. Esto lo saco de hacer en DOS un ping smtp.gmail.com.
poniendo en el servidor "gmail-smtp-msa.l.google.com" me da un error que dice asi:
-2147220973: Error de transporte en la conexión al servidor

No entiendo que puede ser.

mientras estoy mirando el enlace que me facilitais por si veo alguna cosa que pudiera estar haciendo mal.

Gracias por sus comentarios.
Heute schöne tag
Arriba
OmniPresente Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Febrero/2009
Localización: España
Estado: Sin conexión
Puntos: 1870
Enlace directo a este mensaje Enviado: 21/Septiembre/2015 a las 12:32
Esto lo tienes repetido:

.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = 465
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.googlemail.com"

Supongo que con la primera línea lo que quieres asignar es el puerto (schemas.microsoft.com/cdo/configuration/smtpserverport")

Prueba también el puerto 587... a mí en algunos clientes que tienen el ADSL de Telefónica me he encontrado que les han bloqueado el puerto 25 (y no sé si alguno más) y entonces da el error ese de "transporte". De hecho, yo ya pongo siempre el 587; ese me funciona en todos los casos.

Saludos.
Arriba
biolarry72 Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Abril/2013
Localización: España
Estado: Sin conexión
Puntos: 151
Enlace directo a este mensaje Enviado: 21/Septiembre/2015 a las 14:16
Gracias omnipresente por tu aporte. Si que es verdad que lo tenia repetido y lo estaba probando con uno o con otro todas las pruebas que se me ocurren. Si que he leido lo del puerto que lo bloquean el 25. Lo miro y comento. Gracias
Heute schöne tag
Arriba
biolarry72 Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Abril/2013
Localización: España
Estado: Sin conexión
Puntos: 151
Enlace directo a este mensaje Enviado: 21/Septiembre/2015 a las 14:24
He probado con el 587 y me da el mismo error de transporte en la conexión al servidor
Heute schöne tag
Arriba
qwer92 Ver desplegable
Habitual
Habitual
Avatar

Unido: 10/Noviembre/2011
Localización: Barcelona
Estado: Sin conexión
Puntos: 131
Enlace directo a este mensaje Enviado: 21/Septiembre/2015 a las 16:50
Por si sirve de algo, a mi me ha funcionado con el 465 y no con el 587.
Arriba
OmniPresente Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Febrero/2009
Localización: España
Estado: Sin conexión
Puntos: 1870
Enlace directo a este mensaje Enviado: 21/Septiembre/2015 a las 17:29
¿Puedes probar desde otra red?. Por ejemplo conectándote a la wifi del móvil. Por descartar lo del puerto.
Arriba
willians Ver desplegable
Habitual
Habitual
Avatar

Unido: 29/Octubre/2004
Localización: España
Estado: Sin conexión
Puntos: 198
Enlace directo a este mensaje Enviado: 21/Septiembre/2015 a las 17:38
Hola,
yo lo utilizo asi:

Dim Mail As New Message
Dim Config As Configuration: Set Config = Mail.Configuration

Config(cdoSendUsingMethod) = cdoSendUsingPort
Config(cdoSMTPServer) = "smtp.gmail.com"
Config(cdoSMTPServerPort) = 465
Config(cdoSMTPAuthenticate) = cdoBasic
Config(cdoSMTPUseSSL) = True
Config(cdoSendUserName) = "tucuenta@gmail.com"
Config(cdoSendPassword) = "TuPassword"
Config.Fields.Update

'Mail.To = ""
Mail.CC = destinatario
Mail.BCC = ""
Mail.From = Config(cdoSendUserName)
Mail.Subject = Asunto
Mail.HTMLBody = TextoEmail


On Error Resume Next
Mail.Send
Ancha es Castilla
Arriba
biolarry72 Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Abril/2013
Localización: España
Estado: Sin conexión
Puntos: 151
Enlace directo a este mensaje Enviado: 21/Septiembre/2015 a las 19:35
Hola de nuevo. Lo he probado desde dos redes distintas. Dos máquinas distintas e incluso dos access distintos y nada. Pero he de pedir perdon ya que no lo había probado desde otro servidor. Me ofusque en que tebia que ser gmail que no pense en probar en un Hotmail por ejemplo. Y sorpresa. Con mi código igual solo cambiando el servidor a smtp.live.com y al puerto 25 Me ha funcionado. Ole ole ole. Pero no entiendo porque con gmail no puedo. Si alguien sabe y quiere compartirlo aprenderé un poco mas. Hare los cambios para usar una cuenta hotmail y listo. Gracias. Espero por si alguien quiere comentar algo mas . Gracias de nuevo
Heute schöne tag
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5419
Enlace directo a este mensaje Enviado: 22/Septiembre/2015 a las 22:19
Hola a todos y buenas noches.

Biolarry, supongo que ya lo habrás comprobado, pero por si no ha sido el caso:

resto hilos buscados con GMAIL

Y supongo que habrá mucho mas en el foro Offline, que te recomiendo que descargues y repases.

Saludos
Gracias
Arriba
biolarry72 Ver desplegable
Habitual
Habitual
Avatar

Unido: 04/Abril/2013
Localización: España
Estado: Sin conexión
Puntos: 151
Enlace directo a este mensaje Enviado: 22/Septiembre/2015 a las 22:39
Ok VIMIPAS. Si algo estuve viendo pero todo lo que lei parecia a mi entender igual a lo que yo tenia. Incluso me descargue un ejemplo de envio via sms y destripando el codigo habia una sorpresa. Habia un envio por correo independiente de hotmail gmail o lo que fuese y era un ejemplo si no recuerdo mal de deluichi o algo asi y era basado en otro de el buho. Usando cdo.message mas menos como el código que yo uso. No entiendo porque no funciona. Solo puedo pensar como los compañeros han comentado en un problema de mis máquinas con los pyertos de los servidores ya que lo que me funciona en casa no me funciona en el trabajo.
Miro como descargar el foro offline a ver si me aclaro. Gracias
Heute schöne tag
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5419
Enlace directo a este mensaje Enviado: 23/Septiembre/2015 a las 00:04
Hola de nuevo.

Por si tuviera algo que ver, ¿tú que versión de Access andas manejando?, lo digo porque mira lo que tienes en tu primer mensaje:

Public Sub envioGMail(idUsuario As String) ' (,CorreoE as string)
'Requiere registro de librería "Microsoft CDO for Windows 2000 Library"

¿Puedes repasar si coincide 2000 con lo que tu tengas?.

Es posible (lo dejo para mas expertos que yo en ese tema) que no coincidan todos los parámetros que se daban con un Access anterior.

Saludos
Gracias
Arriba
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable