Límites de activación y API de JavaScript para complementos de Outlook

Para proporcionar una experiencia satisfactoria para los usuarios de complementos de Outlook, debe tener en cuenta determinadas directrices de activación y uso de API, e implementar los complementos para que permanezcan dentro de estos límites. Estas directrices existen para que un complemento individual no pueda requerir que Exchange Server o Outlook pasen un período de tiempo inusualmente largo para procesar sus reglas de activación o llamadas a la API de JavaScript de Office, lo que afecta a la experiencia general del usuario para Outlook y otros complementos. Estos límites se aplican al diseño de reglas de activación en el manifiesto del complemento y al uso de propiedades personalizadas, configuración de itinerancia, destinatarios, solicitudes y respuestas de Exchange Web Services (EWS) y llamadas asincrónicas.

Nota:

También debe comprobar que el complemento se ejecuta dentro de determinados límites de uso de recursos en tiempo de ejecución. Para obtener más información, vea Runtimes in Office Add-ins.

Límites del lugar en que se activan los complementos

Para obtener más información sobre dónde hacen y no se activan los complementos, consulte la sección "Elementos de buzón disponibles para complementos" de Información general sobre los complementos de Outlook.

Límites para la API de JavaScript

Cada cliente de Outlook aplica ciertos límites en el modelo de objetos de JavaScript, como se describe en la tabla siguiente.

Característica Límite Límite Descripción
Propiedades personalizadas 2500 caracteres Objeto CustomProperties

Método Item.loadCustomPropertiesAsync
Límite para todas las propiedades personalizadas de un elemento de cita o mensaje. Todos los clientes de Outlook devuelven un error si el tamaño total de todas las propiedades personalizadas de un complemento supera este límite.
Configuración de movilidad 32 KB de caracteres Objeto RoamingSettings

Propiedad Context.roamingSettings
Límite de todas las configuraciones de movilidad para el complemento. Todos los clientes de Outlook devuelven un error si la configuración supera este límite.
Encabezados de Internet 256 KB por mensaje en Exchange Online

Límite de tamaño de encabezado determinado por los administradores de la organización en Exchange local
Método InternetHeaders.setAsync Límite de tamaño total de encabezados que se pueden aplicar a un mensaje.
Extracción de entidades conocidas 2.000 caracteres Método Item.getEntities

Método Item.getEntitiesByType

Método Item.getFilteredEntitiesByName
Límite de Exchange Server para extraer entidades conocidas en el cuerpo del elemento. Exchange Server pasa por alto las entidades más allá de ese límite. Tenga en cuenta que este límite es independiente de si el complemento usa una ItemHasKnownEntity regla.
Servicios Web de Exchange Número de 5 MB de caracteres en Outlook en la Web, en Windows (a partir de la versión 2303 (compilación 16225.10000)), en Mac (a partir de la versión 16.73 (23042601)) y en el nuevo Outlook en Windows (versión preliminar)

1 MB de caracteres en versiones anteriores de Outlook en Windows y en Mac
Método Mailbox.makeEwsRequestAsync Límite de una solicitud o respuesta a una Mailbox.makeEwsRequestAsync llamada.
Selección múltiple de elementos 100 mensajes Método Mailbox.getSelectedItemsAsync Número máximo de mensajes seleccionados en los que un complemento de Outlook puede activarse.
Recipientes Varía entre los clientes de Outlook Propiedad Item.requiredAttendees

Propiedad Item.optionalAttendees

Item.to propiedad

Item.cc propiedad

Método Recipients.addAsync

Método Recipients.getAsync

Método Recipients.setAsync
Límite para los destinatarios especificados en cada propiedad o método. Para obtener información sobre los límites de destinatarios de un cliente de Outlook específico, consulte la documentación de la API para la propiedad o el método.
Nombre para mostrar 255 caracteres Propiedad EmailAddressDetails.displayName

Objeto Recipients

Propiedad Item.requiredAttendees

Propiedad Item.optionalAttendees

Item.to propiedad

Item.cc propiedad
Límite de longitud de un nombre para mostrar en una cita o mensaje.
Configurar el asunto 255 caracteres DisplayedSubject.setAsync (versión preliminar)

Método Mailbox.displayNewAppointmentForm

Método Subject.setAsync
Límite del asunto en el nuevo formulario de cita o para definir el asunto de una cita o mensaje.
Establecer la ubicación 255 caracteres Método Location.setAsync Límite para definir la ubicación de una cita o convocatoria de reunión
Cuerpo de un nuevo formulario de cita 32 KB de caracteres Método Mailbox.displayNewAppointmentForm Límite del cuerpo de un nuevo formulario de cita.
Mostrar el cuerpo de un elemento existente 32 KB de caracteres Método Mailbox.displayAppointmentForm

Método Mailbox.displayMessageForm
Para Outlook en la Web, dispositivos móviles y nueva Outlook en Windows (versión preliminar): límite para el cuerpo en un formulario de cita o mensaje existente.
Establecer el cuerpo 1 MB de caracteres Método Body.prependAsync

Body.setAsync

Método Body.setSelectedDataAsync

DisplayedBody.setAsync (versión preliminar)
Límite para definir el cuerpo de un elemento de mensaje o cita.
Establecer la firma 30 000 caracteres Método Body.setSignatureAsync Límite para la longitud de una firma en una cita o mensaje.
Número de archivos adjuntos 499 archivos en Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows (versión preliminar) Método Item.addFileAttachmentAsync Límite del número de archivos que se puede adjuntar a un elemento para su envío. Outlook en la Web y en dispositivos móviles, y el nuevo Outlook en Windows (versión preliminar) suele limitar la conexión de hasta 499 archivos a través de la interfaz de usuario y addFileAttachmentAsync el método. Outlook en Windows y en Mac no limita específicamente el número de archivos adjuntos. Sin embargo, todos los clientes de Outlook observan el límite del tamaño de los datos adjuntos determinado por el Exchange Server del usuario (vea la fila "Tamaño de los datos adjuntos" en esta tabla).
Tamaño de datos adjuntos Depende de Exchange Server Método Item.addFileAttachmentAsync Hay un límite en el tamaño de todos los datos adjuntos de un elemento de correo, que un administrador puede configurar en el Exchange Server del buzón del usuario. Para Outlook en Windows y en Mac, esto limita el número de datos adjuntos de un elemento. Para Outlook en la Web y en dispositivos móviles, y el nuevo Outlook en Windows (versión preliminar), el menor de los dos límites (el número de datos adjuntos y el tamaño de todos los datos adjuntos) restringe los datos adjuntos reales de un elemento.
Nombres de archivos adjuntos 255 caracteres Método Item.addFileAttachmentAsync Límite de longitud del nombre de los archivos adjuntos que se van a agregar a un elemento.
URI de datos adjuntos 2 048 caracteres Método Item.addFileAttachmentAsync

Método Item.addFileAttachmentFromBase64Async
Límite del URI del nombre de archivo que se va a agregar como datos adjuntos a un elemento.
Cadena codificada en Base64 de un archivo adjunto 27 892 122 caracteres (aproximadamente 25 MB) Método Item.addFileAttachmentFromBase64Async Límite de la cadena codificada en Base64 que se va a agregar como datos adjuntos a un elemento.
Identificador de datos adjuntos 100 caracteres Método Item.addItemAttachmentAsync

Método Item.removeAttachmentAsync
Límite de longitud del identificador de los datos adjuntos que se van a agregar o eliminar de un elemento.
Llamadas asincrónicas 3 llamadas Método Item.addFileAttachmentAsync

Método Item.addItemAttachmentAsync

Método Item.removeAttachmentAsync

Método Body.getTypeAsync

Método Body.prependAsync

Método Body.setSelectedDataAsync

Método CustomProperties.saveAsync

Método Item.LoadCustomPropertiesAsync

Método Location.getAsync

Método Location.setAsync

Método Mailbox.getCallbackTokenAsync

Método Mailbox.getUserIdentityTokenAsync

Método Mailbox.makeEwsRequestAsync

Método Recipients.addAsync

Método Recipients.getAsync

Método Recipients.setAsync

Método RoamingSettings.saveAsync

Método Subject.getAsync

Método Subject.setAsync

Método Time.getAsync

Método Time.setAsync
Para Outlook en la Web y en dispositivos móviles, y nueva Outlook en Windows (versión preliminar): límite del número de llamadas asincrónicas simultáneas a la vez, ya que los exploradores solo permiten un número limitado de llamadas asincrónicas a los servidores.
Anexar al envío 5000 caracteres Método Body.appendOnSendAsync Límite del contenido que se va a anexar a un cuerpo de mensaje o cita en el envío.
Anteponer al envío 5000 caracteres Método Body.prependOnSendAsync Límite del contenido que se va a anteponer a un cuerpo de mensaje o cita en el envío.

Límites de reglas de activación para complementos contextuales de Outlook

Importante

Los complementos contextuales de Outlook basados en entidades se retirarán en el segundo trimestre de 2024. El trabajo para retirar esta característica comenzará en mayo y continuará hasta finales de junio. Después de junio, los complementos contextuales ya no podrán detectar entidades en elementos de correo para realizar tareas en ellos. También se retirarán las siguientes API.

Para ayudar a minimizar las posibles interrupciones, se seguirá admitiendo lo siguiente después de que se retiren los complementos contextuales basados en entidades.

  • Se está desarrollando una implementación alternativa del botón Unirse a la reunión , que se activa mediante complementos de reunión en línea. Una vez finalizada la compatibilidad con complementos contextuales basados en entidades, los complementos de reunión en línea pasarán automáticamente a la implementación alternativa para activar el botón Unirse a la reunión .
  • Las reglas de expresión regular seguirán siendo compatibles después de retirar los complementos contextuales basados en entidades. Se recomienda actualizar el complemento contextual para usar reglas de expresión regular como solución alternativa. Para obtener instrucciones sobre cómo implementar estas reglas, vea Usar reglas de activación de expresiones regulares para mostrar un complemento de Outlook.

Para obtener más información, vea Retirada de complementos contextuales de Outlook basados en entidades.

Siga estas instrucciones al diseñar reglas de activación para complementos contextuales de Outlook.

  • Limite el tamaño del manifiesto a 256 KB. No puede instalar el complemento de Outlook para un buzón de Exchange si supera ese límite.

    Nota:

    Las características de complemento de Outlook que dependen de las reglas de activación no se admiten cuando el complemento usa un manifiesto unificado para Microsoft 365.

  • Especifique hasta 15 reglas de activación para el complemento. No puede instalar el complemento si supera ese límite.

  • En Outlook en Windows y en Mac, si usa una regla ItemHasKnownEntity en el cuerpo del elemento seleccionado, espere que la regla solo se aplique a los primeros 1 MB del cuerpo y no al resto del cuerpo por encima de ese límite. El complemento no se activará si existen coincidencias solo después del primer MB del cuerpo. Si espera que sea un escenario probable, rediseñe las condiciones de activación.

  • Si usa expresiones regulares en ItemHasKnownEntity las reglas ItemHasRegularExpressionMatch o ItemHasRegularExpressionMatch , tenga en cuenta los siguientes límites y directrices que generalmente se aplican a cualquier aplicación de Outlook y a las descritas en las tablas de las secciones posteriores que difieren en función de la aplicación.

    • Especifique hasta cinco expresiones regulares en las reglas de activación de un complemento. No puede instalar un complemento si supera ese límite.
    • Especifique expresiones regulares de modo que la llamada al método devuelva getRegExMatches los resultados previstos dentro de las 50 primeras coincidencias.
    • Importante: El texto se resalta en función de las cadenas que resultan de la coincidencia con la expresión regular. Sin embargo, es posible que las repeticiones resaltadas no coincidan exactamente con lo que debería resultar de las aserciones de expresiones regulares reales, como la vista previa (?!text)negativa, la apariencia subyacente (?<=text)y la apariencia negativa detrás (?<!text). Por ejemplo, si usa la expresión under(?!score) regular en "Like under, under score, and underscore", la cadena "under" se resalta para todas las repeticiones en lugar de solo las dos primeras.

Diferencias en la compatibilidad con expresiones regulares

En la tabla siguiente se enumeran los límites y se describen las diferencias en la compatibilidad con expresiones regulares entre los clientes de Outlook. El soporte técnico es independiente de cualquier tipo específico de dispositivo y cuerpo del elemento.

Outlook en la Web, en dispositivos móviles y en el nuevo cliente de Windows (versión preliminar) Outlook en Windows y en Mac
Los clientes usan la evaluación de expresiones regulares que forma parte de JavaScript. Lo proporciona el explorador y admite un superconjunto de ECMAScript 5. Los clientes usan el motor de expresiones regulares de C++ proporcionado como parte de la biblioteca de plantillas estándar de Visual Studio. Este motor cumple con los estándares de ECMAScript 5.
Debe probar cada expresión regular exhaustivamente en cada cliente de Outlook. Si un regex devuelve resultados diferentes, vuelva a escribir el regex. Debido a los diferentes motores regex, una expresión regex que incluye una clase de caracteres personalizada basada en clases de caracteres predefinidas puede devolver resultados diferentes en Outlook en Windows y en Mac en lugar de en Outlook en la Web, en dispositivos móviles y en nueva Outlook en Windows (versión preliminar).

Por ejemplo, el valor de regex [\s\S]{0,100} coincide con cualquier número, entre 0 y 100, de caracteres únicos que sean espacios en blanco o que no sean espacios en blanco. Esta expresión regular devuelve resultados diferentes en función del cliente de Outlook.

Como solución alternativa, debe volver a escribir el regex como (\s\|\S){0,100}. Esta expresión regular coincide con cualquier número, entre 0 y 100, de espacio en blanco o espacio no en blanco.

Debe probar cada expresión regular exhaustivamente en cada cliente de Outlook. Si un regex devuelve resultados diferentes, vuelva a escribir el regex.
La supervisión de recursos y la configuración del Registro admitidas en Outlook en Windows y en Mac no se admiten en Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows (versión preliminar). Sin embargo, los complementos con expresiones regulares que requieren una cantidad excesiva de tiempo de evaluación en Outlook en Windows y en Mac se deshabilitan para el mismo buzón en todos los clientes de Outlook. De forma predeterminada, la evaluación de todas las expresiones regulares de un complemento se limita a un segundo. Si se supera este límite, se vuelve a evaluar hasta tres veces. Más allá del límite de reevaluación, Outlook en Windows y en Mac impide que el complemento se ejecute para el mismo buzón en cualquiera de los clientes de Outlook.

Los administradores pueden invalidar estos límites de evaluación mediante las claves y OutlookActivationManagerRetryLimit del OutlookActivationAlertThreshold Registro.

Límites en cuanto al tamaño del cuerpo de elemento evaluado

En la tabla siguiente se enumeran los límites y se describen las diferencias en la parte del cuerpo del elemento al que cada cliente de Outlook aplica una expresión regular. Algunos de estos límites dependen del tipo de dispositivo y del cuerpo del elemento, si la expresión regular se aplica al cuerpo del elemento.

Outlook en la Web y en el nuevo cliente de Windows (versión preliminar) Outlook en el cliente clásico de Windows y en Mac Outlook en dispositivos móviles
Factor de forma Cualquier dispositivo compatible que no sea teléfonos inteligentes Android, iPad y iPhone. Cualquier dispositivo compatible. Smartphones Android, iPad o iPhone.
Cuerpo de elemento en texto sin formato Activa el complemento solo si el cuerpo < tiene 500 000 caracteres. Aplica el regex al primer 1 MB de los datos del cuerpo, pero no al resto del cuerpo por encima de este límite. Activa el complemento solo si el cuerpo < tiene 16 000 caracteres.
Cuerpo de elemento en HTML Activa el complemento solo si el cuerpo < tiene 500 000 caracteres. Aplica el regex a los primeros 512 KB de los datos del cuerpo, pero no al resto del cuerpo por encima de este límite. El número real de caracteres depende del cifrado, que puede oscilar entre 1 y 4 bytes por carácter. Aplica el regex a los primeros 64.000 caracteres (caracteres de etiqueta HTM inclusive), pero no al resto del cuerpo por encima de este límite.

Límites en cuanto a los resultados devueltos

En la tabla siguiente se enumeran los límites y se describen las diferencias en las coincidencias que devuelve cada cliente de Outlook después de evaluar una expresión regular. La compatibilidad es independiente del tipo de dispositivo, pero puede depender del tipo de cuerpo de elemento si la expresión regular se aplica a dicho cuerpo de elemento.

Outlook en la Web, en dispositivos móviles y en el nuevo cliente de Windows (versión preliminar) Outlook en el cliente clásico de Windows y en Mac
Orden de las coincidencias devueltas Supongamos que el getRegExMatches método devuelve coincidencias diferentes para la misma expresión regular aplicada en el mismo elemento de correo en Outlook en Windows y en Mac en lugar de en Outlook en la Web, en dispositivos móviles y en nueva Outlook en Windows (versión preliminar). Supongamos que el getRegExMatches método devuelve coincidencias diferentes para la misma expresión regular aplicada en el mismo elemento de correo en Outlook en Windows y en Mac en comparación con Outlook en la Web, en dispositivos móviles y en nueva Outlook en Windows (versión preliminar).
Cuerpo de elemento en texto sin formato getRegExMatches devuelve las coincidencias que tienen hasta 3072 (3 KB), para un máximo de 50 coincidencias. El getRegExMatches método devuelve cualquier coincidencia que tenga hasta 1.536 (1,5 KB), para un máximo de 50 coincidencias.

Nota: getRegExMatches no devuelve coincidencias en ningún orden específico de la matriz devuelta. En general, suponga que el orden de las coincidencias para la misma expresión regular aplicada en el mismo elemento de correo en Outlook en Windows y en Mac es diferente del de Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows (versión preliminar).
Cuerpo de elemento en HTML getRegExMatches devuelve las coincidencias que tienen hasta 3072 (3 KB), para un máximo de 50 coincidencias. getRegExMatches devuelve las coincidencias que tienen hasta 3072 (3 KB), para un máximo de 50 coincidencias.

Nota: getRegExMatches no devuelve coincidencias en ningún orden específico de la matriz devuelta. En general, suponga que el orden de las coincidencias para la misma expresión regular aplicada en el mismo elemento de correo en Outlook en Windows y en Mac es diferente del de Outlook en la Web, en dispositivos móviles y en el nuevo Outlook en Windows (versión preliminar).

Vea también