0

我认为标题说明了一切。我可以使用 Outlook 发送电子邮件,但现在我们切换到 Gmail 并丢失了数据库中的所有通知功能。

4

1 回答 1

0

是的,您可以使用 gmail 帐户从 Access 发送邮件。您需要 CDO 库参考。搜索它(“cdo”+“access”+“send”“mail”)

然后,您使用这样的函数发送它们(西班牙语评论):

Function Enviar_Mail_CDO(Para As String, _
                         De As String, _
                         Asunto As String, _
                         Mensaje As String, _
                         Usuario As String, _
                         Password As String, _
                         Optional Path_Adjunto As String) As Boolean



'Me.MousePointer = vbHourglass

' Variable de objeto Cdo.Message
Dim Obj_Email As CDO.Message


Dim SerVidor_SMTP As String
Dim Puerto As String
Dim Usar_Autentificacion As Boolean
Dim usar_ssl As Boolean

SerVidor_SMTP = "smtp.gmail.com"
Puerto = "465"
Usar_Autentificacion = True
usar_ssl = True


' 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

结束功能

于 2013-10-18T10:02:10.763 回答