Correo electrónico

El conector de correo electrónico te permite realizar operaciones de inserción, eliminación, actualización y lectura en una base de datos IMAP.

Antes de empezar

Antes de usar el conector de correo electrónico, haz lo siguiente:

  • En tu proyecto de Google Cloud:
    • Asegúrate de que la conectividad de red esté configurada. Para obtener información sobre los patrones de red, consulta Conectividad de red.
    • Concede el rol de gestión de identidades y accesos roles/connectors.admin al usuario que configure el conector.
    • Concede los siguientes roles de gestión de identidades y accesos a la cuenta de servicio que quieras usar para el conector:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Una cuenta de servicio es un tipo especial de cuenta de Google diseñada para representar a un usuario no humano que necesita autenticarse y disponer de autorización para acceder a los datos de las APIs de Google. Si no tienes una cuenta de servicio, debes crearla. El conector y la cuenta de servicio deben pertenecer al mismo proyecto. Para obtener más información, consulta el artículo Crear una cuenta de servicio.

    • Habilita los siguientes servicios:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Para saber cómo habilitar servicios, consulta Habilitar servicios.

    Si estos servicios o permisos no se han habilitado en tu proyecto anteriormente, se te pedirá que los habilites al configurar el conector.

Configurar el conector

Una conexión es específica de una fuente de datos. Esto significa que, si tiene muchas fuentes de datos, debe crear una conexión independiente para cada una de ellas. Para crear una conexión, sigue estos pasos:

  1. En la consola de Cloud, ve a la página Integration Connectors > Connections (Conectores de integración > Conexiones) y, a continuación, selecciona o crea un proyecto de Google Cloud.

    Ve a la página Conexiones.

  2. Haga clic en + Crear para abrir la página Crear conexión.
  3. En la sección Ubicación, elige la ubicación de la conexión.
    1. Región: selecciona una ubicación de la lista desplegable.

      Para ver la lista de todas las regiones admitidas, consulta Ubicaciones.

    2. Haz clic en Siguiente.
  4. En la sección Detalles de la conexión, haz lo siguiente:
    1. Conector: selecciona Correo electrónico en la lista desplegable de conectores disponibles.
    2. Versión del conector: seleccione la versión del conector en la lista desplegable de versiones disponibles.
    3. En el campo Connection Name (Nombre de conexión), introduce un nombre para la instancia de conexión.

      Los nombres de las conexiones deben cumplir los siguientes criterios:

      • Los nombres de conexión pueden contener letras, números o guiones.
      • Las letras deben estar en minúsculas.
      • Los nombres de conexión deben empezar por una letra y terminar por una letra o un número.
      • Los nombres de conexión no pueden tener más de 49 caracteres.
    4. (Opcional) Descripción: escribe una descripción de la conexión.
    5. También puedes habilitar Registro en la nube y, a continuación, seleccionar un nivel de registro. De forma predeterminada, el nivel de registro es Error.
    6. Cuenta de servicio: selecciona una cuenta de servicio que tenga los roles necesarios.
    7. Protocolo: el tipo de servidor de correo al que conectarse. Los valores válidos son IMAP y POP.
    8. Nivel de detalle: este campo determina la cantidad de detalles que quieres incluir en el archivo de registro. Los valores válidos están comprendidos entre 1 y 5. Un nivel de verbosidad más alto registra todos los detalles de la comunicación, incluida la solicitud, la respuesta y los certificados SSL.
    9. Si quieres, configura los ajustes del nodo de conexión:

      • Número mínimo de nodos: introduce el número mínimo de nodos de conexión.
      • Número máximo de nodos: introduce el número máximo de nodos de conexión.

      Un nodo es una unidad (o réplica) de una conexión que procesa transacciones. Se necesitan más nodos para procesar más transacciones en una conexión y, a la inversa, se necesitan menos nodos para procesar menos transacciones. Para saber cómo influyen los nodos en el precio de tu conector, consulta la sección Precios de los nodos de conexión. Si no introduces ningún valor, de forma predeterminada, el número mínimo de nodos se establece en 2 (para mejorar la disponibilidad) y el máximo en 50.

    10. (Opcional) En la sección Configuración avanzada, marca la casilla Usar proxy para configurar un servidor proxy para la conexión y define los siguientes valores:
      • Esquema de autenticación de proxy: selecciona el tipo de autenticación para autenticarte con el servidor proxy. Se admiten los siguientes tipos de autenticación:
        • Básica: autenticación HTTP básica.
        • Digest: autenticación HTTP Digest.
      • Usuario proxy: nombre de usuario que se usará para autenticar el servidor proxy.
      • Contraseña de proxy: el secreto de Secret Manager de la contraseña del usuario.
      • Tipo de SSL de proxy: el tipo de SSL que se debe usar al conectarse al servidor proxy. Se admiten los siguientes tipos de autenticación:
        • Automático: es el ajuste predeterminado. Si la URL es una URL HTTPS, se usa la opción Tunnel. Si la URL es una URL HTTP, se usa la opción NUNCA.
        • Siempre: la conexión siempre tiene habilitado SSL.
        • Nunca: la conexión no tiene habilitado el protocolo SSL.
        • Túnel: la conexión se realiza a través de un proxy de tunelización. El servidor proxy abre una conexión con el host remoto y el tráfico fluye de un lado a otro a través del proxy.
      • En la sección Servidor proxy, introduce los detalles del servidor proxy.
        1. Haga clic en + Añadir destino.
        2. Selecciona un Tipo de destino.
          • Dirección de host: especifica el nombre de host o la dirección IP del destino.

            Si quieres establecer una conexión privada con tu sistema backend, haz lo siguiente:

    11. También puedes hacer clic en + Añadir etiqueta para añadir una etiqueta a la conexión en forma de par clave-valor.
    12. Haz clic en Siguiente.
  5. En la sección Destinations (Destinos), introduce los detalles del nombre o la dirección del servidor de correo al que quieras conectarte. El servidor admite los protocolos IMAP y POP.
    1. Tipo de destino: selecciona un Tipo de destino. Por ejemplo, introduce la dirección del host y el número de puerto. Por ejemplo, la dirección de host es outlook.office365.com y el puerto es 993.
      • Para especificar el nombre de host o la dirección IP de destino, selecciona Dirección de host y introduce la dirección en el campo Host 1.
      • Para establecer una conexión privada, selecciona Endpoint attachment (Endpoint adjunto) y elige el adjunto que quieras de la lista Endpoint Attachment (Endpoint adjunto).

      Si quieres establecer una conexión pública con tus sistemas backend con seguridad adicional, puedes configurar direcciones IP de salida estáticas para tus conexiones y, a continuación, configurar las reglas de tu cortafuegos para que solo se permitan las direcciones IP estáticas específicas.

    2. Si quiere enviar correos, añada los detalles del servidor SMTP en la sección SMTPServer haciendo clic en +Add destination (+Añadir destino). A continuación, siga estos pasos:
      • Introduce la dirección del host y el número de puerto. Por ejemplo, la dirección de host es smtp-mail.outlook.com y el puerto es 587.
    3. Haz clic en Siguiente.
  6. En la sección Autenticación, introduce los detalles de autenticación.
    1. Seleccione un Tipo de autenticación e introduzca los detalles pertinentes.

      La conexión de correo electrónico admite los siguientes tipos de autenticación:

      • Nombre de usuario y contraseña
    2. Para saber cómo configurar estos tipos de autenticación, consulta Configurar la autenticación.

    3. Haz clic en Siguiente.
  7. Revisar: revisa los detalles de la conexión y la autenticación.
  8. Haz clic en Crear.

Configurar la autenticación

Introduce los detalles en función de la autenticación que quieras usar.

  • Nombre de usuario y contraseña
    • Nombre de usuario: el usuario de la cuenta de correo utilizada para la autenticación.
    • Contraseña: secreto de Secret Manager que contiene la contraseña de la cuenta de correo utilizada para la autenticación.

Entidades, operaciones y acciones

Todos los conectores de integración proporcionan una capa de abstracción para los objetos de la aplicación conectada. Solo puedes acceder a los objetos de una aplicación a través de esta abstracción. La abstracción se te muestra como entidades, operaciones y acciones.

  • Entidad: una entidad se puede considerar como un objeto o un conjunto de propiedades en la aplicación o el servicio conectados. La definición de una entidad varía de un conector a otro. Por ejemplo, en un conector de base de datos, las tablas son las entidades; en un conector de servidor de archivos, las carpetas son las entidades; y en un conector de sistema de mensajería, las colas son las entidades.

    Sin embargo, es posible que un conector no admita o no tenga ninguna entidad. En ese caso, la lista Entities estará vacía.

  • Operación: una operación es la actividad que puedes realizar en una entidad. Puedes realizar cualquiera de las siguientes operaciones en una entidad:

    Al seleccionar una entidad de la lista disponible, se genera una lista de operaciones disponibles para la entidad. Para ver una descripción detallada de las operaciones, consulta las operaciones de entidades de la tarea Connectors. Sin embargo, si un conector no admite ninguna de las operaciones de entidad, esas operaciones no admitidas no se mostrarán en la lista Operations.

  • Acción: una acción es una función de primera clase que se pone a disposición de la integración a través de la interfaz del conector. Una acción te permite hacer cambios en una o varias entidades y varía de un conector a otro. Normalmente, una acción tendrá algunos parámetros de entrada y un parámetro de salida. Sin embargo, es posible que un conector no admita ninguna acción, en cuyo caso la lista Actions estará vacía.

Limitaciones del sistema

El conector de correo puede procesar 1 transacción por segundo por nodo y limita las transacciones que superen este límite. De forma predeterminada, Integration Connectors asigna 2 nodos (para mejorar la disponibilidad) a una conexión.

Para obtener información sobre los límites aplicables a Integration Connectors, consulta Límites.

Acciones

En esta sección se enumeran las acciones que admite el conector. Para saber cómo configurar las acciones, consulta los ejemplos de acciones.

Acción MoveEmails

Parámetros de entrada de la acción MoveEmails

Nombre del parámetro Tipo de datos Obligatorio Descripción
Descripción Cadena El buzón al que se moverá el mensaje.
Mailbox Cadena El buzón en el que se encuentra el mensaje.
ID Cadena Esta entrada indica el conjunto de mensajes en los que se va a operar. Puede constar de un solo ID de mensaje, un intervalo de mensajes especificado por dos números de mensaje separados por ":" (por ejemplo, "1:5") o números de mensaje individuales separados por "," (por ejemplo, "1:5,7,10").

Para ver un ejemplo de cómo configurar la acción MoveEmails, consulta los ejemplos de acciones.

Acción SendMailMessages

Parámetros de entrada de la acción SendMailMessages

Nombre del parámetro Tipo de datos Obligatorio Descripción
BCC Cadena No Lista de nombres y direcciones de correo de los destinatarios con copia oculta, separados por punto y coma.
Prioridad Cadena No Prioridad del mensaje de correo.
Sensibilidad Cadena No Sensibilidad del mensaje de correo.
Archivo adjunto Cadena Lista separada por punto y coma de los nombres de los archivos adjuntos (con la ruta si se leen de un archivo) incluidos en el mensaje.
MessageBody Cadena El cuerpo del mensaje.
AttachmentData Cadena Lista separada por puntos y comas de los datos de los archivos adjuntos codificados en Base64 incluidos en el mensaje. (Aun así, debes especificar el nombre del archivo en Adjuntos.
InlineImage Cadena Lista separada por punto y coma de los identificadores de imágenes insertadas (cids) que se incluirán en el mensaje.
DeliveryNotification Cadena No Dirección de correo a la que se enviará una notificación de entrega.
InlineImageData Cadena Lista separada por puntos y comas de los datos de imagen codificados en Base64 que se incluirán en el mensaje.
CC Cadena No Lista de nombres y direcciones de correo de los destinatarios con copia, separados por punto y coma.
InlineImageContent Cadena No El contenido como InputStream que se va a subir.
De Cadena No La dirección de correo del remitente.
Para Cadena No Lista de nombres y direcciones de correo de los destinatarios separados por punto y coma.
Asunto Cadena El asunto del mensaje de correo.
AttachmentContent Cadena No El contenido como InputStream que se va a subir.
Conjunto de caracteres Cadena No El conjunto de caracteres que se va a usar en el mensaje.
ReadReceipt Cadena No Dirección de correo a la que enviar una confirmación de lectura.
IsHTML Cadena No Indica si el correo es HTML o texto sin formato.
Importancia Cadena No Importancia del mensaje de correo.

Para ver un ejemplo de cómo configurar la acción SendMailMessages, consulta los ejemplos de acciones.

Acción SetLabels

Parámetros de entrada de la acción SetLabels

Nombre del parámetro Tipo de datos Obligatorio Descripción
OperationType Cadena Indica si las etiquetas especificadas se deben añadir,quitar o sustituir a la lista de etiquetas actual.
Mailbox Cadena El buzón de Gmail en el que se encuentra el mensaje.
ID Cadena Esta entrada indica el conjunto de mensajes en los que se va a operar. Puede constar de un solo ID de mensaje, un intervalo de mensajes especificado por dos números de mensaje separados por ":" (por ejemplo, "1:5") o números de mensaje individuales separados por "," (por ejemplo, "1:5,7,10").
Etiqueta Cadena Lista de etiquetas que se asignarán al mensaje especificado por la propiedad MessageSet. Este valor debe ser una lista de etiquetas separadas por comas.

Para ver un ejemplo de cómo configurar la acción SetLabels, consulta Ejemplos de acciones.

Acción SetFlag

Parámetros de entrada de la acción SetFlag

Nombre del parámetro Tipo de datos Obligatorio Descripción
OperationType Cadena Indica si las marcas especificadas se deben añadir,quitar o sustituir en la lista de marcas.
Mailbox Cadena El buzón en el que se encuentra el mensaje.
ID Cadena Esta entrada indica el conjunto de mensajes en los que se va a operar. Puede constar de un solo ID de mensaje, un intervalo de mensajes especificado por dos números de mensaje separados por ":" (por ejemplo, "1:5") o números de mensaje individuales separados por "," (por ejemplo, "1:5,7,10").
Banderas Cadena Define las marcas especificadas en el mensaje indicado por el conjunto de mensajes. (p. ej.: Visto, Eliminado, Borrador,Marcado). Las marcas deben especificarse como una lista separada por comas(por ejemplo, Visto,Eliminado,Marcado).

Para ver un ejemplo de cómo configurar la acción SetFlag, consulta los ejemplos de acciones.

Ejemplos

Ejemplos de acciones

Ejemplo: mover un correo

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción MoveEmails y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
     {
    "Destination": "Inbox",
    "Mailbox": "Archive",
    "Id": "1"
    }
  4. Si la acción se realiza correctamente, el parámetro connectorOutputPayload response de la tarea MoveEmails tendrá un valor similar al siguiente:

    [{
    "Success": "true",
    "rss:title": "Message(s) moved successfully."
    }] 

Ejemplo: enviar un correo

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción SendMailMessages y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
     {
    "MessageBody": "This mail is generated by using action sendmailmessage for outlook server.",
    "To": "test97@gmail.com",
    "Subject": "Outlook SMTP\n server."
    }
  4. Si la acción se realiza correctamente, el parámetro connectorOutputPayload response de la tarea SendMailMessages tendrá un valor similar al siguiente:

    [{
     "MessageId": "4797386f18288a7441c5317a459b8340e857@outlook.com"
    }]

Ejemplo: enviar correo con archivo adjunto

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción SendMailMessages y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
     {
    "MessageBody": "This mail is generated by using action sendmailmessage for outlook server.",
    "To": "test97@gmail.com",
    "Subject": "Outlook SMTP PDF Mail.",
    "Attachment": "Testing.pdf",
    "AttachmentData": "JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuz1xj6j3/gb09Wma83/dLbs7L9N03T/dHh6ArlrRiZdCU98lR5A3h9FD
    ...[too long to view on UI. Please download the log to view the full content.]
    }    
  4. Si la acción se realiza correctamente, el parámetro connectorOutputPayload response de la tarea SendMailMessages tendrá un valor similar al siguiente:

    [{
    "MessageId": "1e96993a6053845c65ee44e6b4153d585e@outlook.com"
    }]

Ejemplo: definir etiquetas

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción SetLabels y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
     {
    "Labels": "GoogleCloud_Testing",
    "OperationType": "ADD",
    "Mailbox": "Inbox",
    "Id": "1"
    }
  4. Si la acción se realiza correctamente, el parámetro connectorOutputPayload response de la tarea SetLabels tendrá un valor similar al siguiente:

    [{
    "Success": "true",
    "rss:title": "Message labels set correctly."
    }]

Ejemplo: definir una marca

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción SetFlag y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "Mailbox": "Sent",
    "Id": "1",
    "Flags": "Draft",
    "OperationType": "ADD"
    }
  4. Si la acción se realiza correctamente, el parámetro connectorOutputPayload response de la tarea SetFlag tendrá un valor similar al siguiente:

    [{
    "Success": "true",
    "rss:title": "Message flags set correctly."
    }]

Ejemplo: marcar un correo concreto

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción SetFlag y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "Mailbox": "Sent",
    "Id": "1",
    "Flags": "Flagged",
    "OperationType": "ADD"
    }
  4. Si la acción se realiza correctamente, el parámetro connectorOutputPayload response de la tarea SetFlag tendrá un valor similar al siguiente:

    [{
    "Success": "true",
    "rss:title": "Message flags set correctly."
    }]

Ejemplos de operaciones de entidades

En esta sección se muestra cómo realizar algunas de las operaciones de entidad en este conector.

Ejemplo: listar todos los correos

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona Inbox en la lista Entity.
  3. Selecciona la operación LIST y, a continuación, haz clic en Hecho.
  4. Opcionalmente, en la sección Entrada de tarea de la tarea Conectores, puedes filtrar el conjunto de resultados especificando una cláusula de filtro. Especifica siempre el valor de la cláusula de filtro entre comillas simples (').

Ejemplo: Obtener un solo correo

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona Inbox en la lista Entity.
  3. Selecciona la operación GET y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haga clic en EntityId y, a continuación, introduzca 1 en el campo Valor predeterminado.

    En este caso, 1 es un ID de registro único de la entidad Inbox.

Ejemplo: eliminar un correo

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona Inbox en la lista Entity.
  3. Selecciona la operación DELETE y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca 1 en el campo Valor predeterminado.

Crear conexiones con Terraform

Puedes usar el recurso de Terraform para crear una conexión.

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

Para ver una plantilla de Terraform de ejemplo para crear una conexión, consulta la plantilla de ejemplo.

Cuando crees esta conexión con Terraform, debes definir las siguientes variables en el archivo de configuración de Terraform:

Nombre del parámetro Tipo de datos Obligatorio Descripción
protocolo STRING Verdadero El tipo de servidor de correo al que conectarse.
proxy_enabled BOOLEAN Falso Seleccione esta casilla para configurar un servidor proxy para la conexión.
proxy_auth_scheme ENUM Falso Tipo de autenticación que se usará para autenticar el proxy ProxyServer. Los valores posibles son: BASIC, DIGEST y NONE.
proxy_user STRING Falso Nombre de usuario que se usará para autenticar el proxy ProxyServer.
proxy_password SECRET Falso Contraseña que se usará para autenticarse en el proxy ProxyServer.
proxy_ssltype ENUM Falso El tipo de SSL que se debe usar al conectarse al proxy ProxyServer. Los valores admitidos son AUTO, ALWAYS, NEVER y TUNNEL.

Usar la conexión de correo en una integración

Una vez que hayas creado la conexión, estará disponible tanto en Apigee Integration como en Application Integration. Puedes usar la conexión en una integración a través de la tarea Conectores.

  • Para saber cómo crear y usar la tarea Conectores en la integración de Apigee, consulta Tarea Conectores.
  • Para saber cómo crear y usar la tarea Conectores en Application Integration, consulta Tarea Conectores.

Obtener ayuda de la comunidad de Google Cloud

Puedes publicar tus preguntas y hablar sobre este conector en la comunidad de Google Cloud, en los foros de Cloud.

Siguientes pasos