¿Cómo soluciono el error 2295 de access 2016 y outlook?

Tengo un botón en access 2016 para mandar un mail masivo a muchos destinatarios, cada uno con su informe. Antes funcionaba, pero ahora al abrir outlook, me dice que ha encontrado destinatarios desconocidos y no envía el mensaje.

¿Alguien me puede ayudar a solucionarlo?

1 Respuesta

Respuesta
1

Me parece que ese error se da cuando efectivamente hay alguna dirección errada. Quizá sí, de forma casual, tú o alguien cambiaron alguna y por eso el error. Comentas.

Abraham Valencia

Hola Abraham,

Muchas gracias por tu respuesta.

Tengo más de 500 direcciones, ¿Cómo puedo comprobar cual no es la correcta?

Un saludo,

Winsuesue

Tienes una línea de este tipo:

DoCmd.SendObject acSendNoObject...

De ser no la respuesta ¿es posible ver tu código completo?

Hola Abraham,

Lo he copiado de la web de Búho, y he modificado lo que necesitaba para crear el bucle y que se mande un archivo diferente a cada alumno dependiendo de su idAlumno

He revisado las direcciones de email y corregido tres, pero aunque ponga únicamente la mía, en todos los registros sigue dando ese error.

Un millón de gracias por tu ayuda.

Aquí te pongo el código.

Private Sub Opción9_Click()
On Error GoTo sol_err

'Declaración de variables
 Dim mailA As Variant
 Dim elAsunto As String
 Dim elMsg As String
'Inicializamos las variables
        'Pedimos al usuario que especifique el asunto
elAsunto = InputBox("Indique el asunto", "ASUNTO")
        'Detectamos si se ha pulsado el botón CANCELAR
    If StrPtr(elAsunto) = 0 Then GoTo Salida
        'Pedimos al usuario que especifique el cuerpo del mensaje
elMsg = InputBox("Indique el cuerpo del mensaje", "CUERPO")
        'Detectamos si se ha pulsado el botón CANCELAR
    If StrPtr(elMsg) = 0 Then GoTo Salida
        'Si no se especifica nada los valores se convierten a cadena de texto vacía
    If IsNull(elAsunto) Then elAsunto = ""
    If IsNull(elMsg) Then elMsg = ""


 'Creamos el informe de la carta , lo guardamos como pdf y lo enviamos
        Dim db As DAO.Database
        Dim rst As DAO.Recordset
        Dim sqlStr As String
        'sqlStr = "mysqlUsuariosAlumnosEmail"
        sqlStr = "SELECT* FROM [DatosAlumno] WHERE [FechaBaja] is null AND [EmailPrueba] is not null "
        Set db = CurrentDb()
        Set rst = db.OpenRecordset(sqlStr)
        If rst.RecordCount = 0 Then
        MsgBox "No existen registros en la consulta"
        GoTo Salida
        End If
        rst.MoveFirst
    'Iniciamos el proceso
        Do While Not rst.EOF
        DoCmd.OpenReport "Inf_CartaUsuario", acViewPreview, , "DatosAlumno.idalumno= " & rst("IdAlumno") 'en este informe hay que cambiar año 2017/2018 por actual
        Dim nomfichero As String
        Dim archivo As String
        Dim ruta As String
        Dim miInforme As String
        ruta = Application.CurrentProject.Path & "\Carta Usuario\" 'Ruta del directorio donde quiero los pdfs, acabada en la contrabarra (\)
        miInforme = ruta & "Informe.pdf"
        nomfichero = "A-" & rst("IdAlumno") & "-" & rst("NombreAlumno") & " " & rst("Apellido1") & " " & rst("Apellido2") ' es un campo unico
       archivo = ruta & nomfichero
        'Cogemos el mail del destinatario. Hay que cambiar EmailPrueba por Email
         mailA = rst.Fields("EmailPrueba").Value
    'Se envía el correo
    DoCmd.SendObject acSendReport, "Inf_CartaUsuario", acFormatPDF, archivo & ".pdf", mailA, , , Asunto, Cuerpo, 0
    DoCmd.Close acReport, "Inf_CartaUsuario"
        'Nos movemos al siguiente registro
        rst.MoveNext
        Loop
      'Avisamos de que el envío ha ido bien
    MsgBox "Mensaje masivo enviado con éxito", vbInformation, "CORRECTO"
        'Eliminamos el informe de nuestra carpeta
    Kill miInforme
Salida:
    Exit Sub
sol_err:
    MsgBox Err.Number & ": " & Err.Description
    Resume Salida
End Sub

Esta línea:

DoCmd. SendObject acSendReport, "Inf_CartaUsuario", acFormatPDF, archivo & ".pdf", mailA,,, Asunto, Cuerpo, 0

Ese último cero (0) cámbialo por un uno (1) o por la palabra "True". Se supone que con ese cambio te dará/mostrará un cuadro en el cual se pueden corregir/ver los correos. Lo que sí me extraña es eso que comentas que aún colocando solo tu correo te da el mismo error, pero bueno, intenta el cambio que te comento y vamos viendo.

Abraham Valencia

Hola Abraham,

he cambiado, primero a 1 y luego a True, y ni siquiera abre Outlook. No me da opción. Se genera el primer informe con los datos y aparece el mensaje de error 2295... destinatarios desconocidos

Gracias!!

Un intento más:

- Tus direcciones de correo ¿están separadas por "punto y coma" o por "coma"? ¿Existe la posibilidad de qué estés usando la incorrecta? ¿Existe la posibilidad que se te hayan mezclado ambas? Además, no olvides que quizá en la PC del error antes funcionaba bien pero alguien puede haber cambiado el "separador de listas" de la "configuración regional.

Abraham Valencia

Hola Abraham,

en teoría se envía el informe de uno en uno. Primero se genera, se guarda, se envía y se cierra. luego se vuelve a abrir para el siguiente alumno, con lo que no hay lista ni separadores.

Esto mismo me funciona perfecto con Gmail pero lo tengo que utilizar con outlook

Muchas gracias,

Winsue

¿Es posible enviar el archivo, al menos con parte de los datos, para probar en mi PC? La verdad es que me ha dado mucha curiosidad ver, en "directo", que es lo que ocurre.

Me avisas

Abraham Valencia

Uff, lo siento Abraham, pero por la protección de datos no puedo enviártelo.

Si es imprescindible te creo otro...

Por supuesto que te entiendo. Creo que es una buena alternativa lo que recomiendas, crear otro, de paso que pruebas si te da el mismo error. Si ocurre eso, seguimos intentando, es sábado, yo tengo tiempo jejeje.

Abraham Valencia

Hola Abraham,

¿Cómo te mando una minibase con ejemplos y mail válido?... A ver si consigues algo! Yo ya estoy desesperadita... aunque siempre me quedara el gmail.

Muchas gracias

¿Cuál es tu correo?

Abraham Valencia

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas