
Communications Mining 用户指南
Exchange 同步应用程序以 Docker 映像的形式提供。以下部分说明了如何配置和部署设备。
由于 Exchange 同步应用程序要求在启动时提供 JSON 配置文件,因此本节说明该文件的内容。有关如何使配置文件可用于 Exchange 同步应用程序的说明,请参阅部署部分。
OAuth 2.0
如果您使用的是 OAuth 2.0 身份验证类型,则可以使用图形 API 或 EWS API。两者都允许您使用客户端密码或客户端证书进行身份验证。
使用的令牌授予流程是客户端凭据流程。
包含客户端密码的图形 API
{
  "microsoft_api": "graph",
  "auth_oauth_authority": "https://login.microsoftonline.com/<tenant_id>/",
  "auth_oauth_client_id": "<client_id>",
  "auth_oauth_client_secret": "<client_secret>",
  "mailboxes": {
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    },
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    }
  }
}{
  "microsoft_api": "graph",
  "auth_oauth_authority": "https://login.microsoftonline.com/<tenant_id>/",
  "auth_oauth_client_id": "<client_id>",
  "auth_oauth_client_secret": "<client_secret>",
  "mailboxes": {
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    },
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    }
  }
}具有客户端证书的图形 API
{
  "microsoft_api": "graph",
  "auth_oauth_authority": "https://login.microsoftonline.com/<tenant_id>/",
  "auth_oauth_client_id": "<client_id>",
  "auth_oauth_client_credential_private_key": "<private_key>",
  "mailboxes": {
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    },
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    }
  }
}{
  "microsoft_api": "graph",
  "auth_oauth_authority": "https://login.microsoftonline.com/<tenant_id>/",
  "auth_oauth_client_id": "<client_id>",
  "auth_oauth_client_credential_private_key": "<private_key>",
  "mailboxes": {
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    },
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    }
  }
}包含客户端密码的 EWS API
{
  "ews_endpoint": "https://outlook.office365.com/EWS/Exchange.asmx",
  "auth_type": "oauth2",
  "auth_oauth_authority": "https://login.microsoftonline.com/<tenant_id>/",
  "auth_oauth_client_id": "<client_id>",
  "auth_oauth_client_secret": "<client_secret>",
  "access_type": "impersonation",
  "mailboxes": {
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    },
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    }
  }
}{
  "ews_endpoint": "https://outlook.office365.com/EWS/Exchange.asmx",
  "auth_type": "oauth2",
  "auth_oauth_authority": "https://login.microsoftonline.com/<tenant_id>/",
  "auth_oauth_client_id": "<client_id>",
  "auth_oauth_client_secret": "<client_secret>",
  "access_type": "impersonation",
  "mailboxes": {
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    },
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    }
  }
}具有客户端证书的 EWS API
{
  "ews_endpoint": "https://outlook.office365.com/EWS/Exchange.asmx",
  "auth_type": "oauth2",
  "auth_oauth_authority": "https://login.microsoftonline.com/<tenant_id>/",
  "auth_oauth_client_id": "<client_id>",
  "auth_oauth_client_credential_private_key": "<private_key>",
  "auth_oauth_client_credential_thumbprint": "<thumbprint>",
  "access_type": "impersonation",
  "mailboxes": {
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    },
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    }
  }
}{
  "ews_endpoint": "https://outlook.office365.com/EWS/Exchange.asmx",
  "auth_type": "oauth2",
  "auth_oauth_authority": "https://login.microsoftonline.com/<tenant_id>/",
  "auth_oauth_client_id": "<client_id>",
  "auth_oauth_client_credential_private_key": "<private_key>",
  "auth_oauth_client_credential_thumbprint": "<thumbprint>",
  "access_type": "impersonation",
  "mailboxes": {
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    },
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    }
  }
}NTLM
如果您使用的是 NTLM 身份验证,则只能与 EWS API 一起使用。
{
  "host": "https://exchange-server.example.com",
  "port": 443,
  "auth_type": "ntlm",
  "auth_user": "[email protected]",
  "access_type": "delegate",
  "mailboxes": {
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    },
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    }
  }
}{
  "host": "https://exchange-server.example.com",
  "port": 443,
  "auth_type": "ntlm",
  "auth_user": "[email protected]",
  "access_type": "delegate",
  "mailboxes": {
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    },
    "[email protected]": {
      "bucket": {
        "owner": "project-name",
        "name": "bucket-name"
      },
      "start_from": "bucket",
      "start_timestamp": "2020-01-01T00:00:00+00:00"
    }
  }
}REINFER_EWS_AUTH_PASS环境变量提供给 Exchange 同步应用程序。如需了解更多详情,请查看部署部分。
                  您可以设置用于覆盖配置中的值的环境变量的完整列表如下:
| 名称 | 说明 | 
|---|---|
| REINFER_EWS_AUTH_USER | Exchange 服务器用户 | 
| REINFER_EWS_AUTH_PASS | Exchange 服务器密码 | 
| REINFER_EWS_ACCESS_TYPE | 访问类型:“委派”或“模拟” | 
| REINFER_EWS_HOST | Exchange 服务器主机 | 
| REINFER_EWS_PORT | Exchange 服务器端口 | 
邮箱配置
您可以在配置中指定一个或多个邮箱。 对于每个邮箱,您必须提供邮箱地址并指定以下参数:
| 名称 | 说明 | 
|---|---|
| bucket.owner | 应在其中同步邮箱的存储桶项目。 | 
| bucket.name | 应在其中同步邮箱的存储桶的名称。 | 
| start_from | 是从上次同步时间 (“存储桶”) 开始,还是忽略上次同步时间并始终从 start_timestamp(“配置”) 开始。应设置为“bucket”以进行正常操作,但在调试时的某些情况下,“config”可能很有用。 | 
| start_timestamp | 开始同步电子邮件的时间戳。 如果未设置,则系统将同步所有电子邮件。 | 
该配置使用许多设置的默认值,例如轮询频率或批处理大小。 要进一步自定义配置,请参阅配置参考。
存储桶
Exchange 集成将原始电子邮件数据同步到 Communications Mining™ 存储桶。与其他 Communications Mining 资源相同,系统会在项目中创建存储桶,这使您可以控制对存储桶的访问。
您可以使用Kubernetes或Docker部署 Exchange 同步应用程序。
通过使用 Kubernetes 进行部署,您可以运行 Exchange 同步应用程序的多个实例,其中每个实例都处理要同步的一部分邮箱。
使用 Kubernetes
使用 Kubernetes 是运行和管理容器化应用程序的一种流行方法。本节介绍如何使用 Kubernetes 部署 Exchange 同步应用程序。
- 基本的 Kubernetes 知识。要开始使用 Kubernetes,请访问部署到 Kubernetes 。
- 已安装kubectl。
kind: StatefulSet
metadata:
  name: uipath-exchange-sync-app
  labels:
    app: uipath-exchange-sync-app
spec:
  podManagementPolicy: Parallel
  replicas: 1
  selector:
    matchLabels:
      app: uipath-exchange-sync-app
  serviceName: uipath-exchange-sync-app
  template:
    metadata:
      labels:
        app: uipath-exchange-sync-app
      name: uipath-exchange-sync-app
    spec:
      containers:
        - args:
            - "uipath-exchange-sync-app"
            - "--bind"
            - "0.0.0.0:8000"
            - "--reinfer-api-endpoint"
            - "https://<mydomain>.reinfer.io/api/"
            - "--shard-name"
            - "$(POD_NAME)"
            # This value should match `spec.replicas` above
            - "--total-shards"
            - "1"
          env:
            - name: REINFER_EWS_CONFIG
              value: "/mnt/config/example_exchange_sync_config"
            - name: REINFER_API_TOKEN
              valueFrom:
                secretKeyRef:
                  key: reinfer-api-token
                  name: reinfer-credentials
            # Only needed when using EWS API
            - name: REINFER_EWS_AUTH_PASS
              valueFrom:
                secretKeyRef:
                  key: ews-auth-pass
                  name: reinfer-credentials
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
          image: "your.private.registry.com/reinfer/ews:TAG"
          name: uipath-exchange-sync-app
          resources:
            requests:
              cpu: 0.05
              memory: 128Mi
          volumeMounts:
            - mountPath: /mnt/config
              name: config-vol
      volumes:
        - configMap:
            name: exchange-sync-config
            items:
              - key: example_exchange_sync_config
                path: example_exchange_sync_config
          name: config-vol
kind: StatefulSet
metadata:
  name: uipath-exchange-sync-app
  labels:
    app: uipath-exchange-sync-app
spec:
  podManagementPolicy: Parallel
  replicas: 1
  selector:
    matchLabels:
      app: uipath-exchange-sync-app
  serviceName: uipath-exchange-sync-app
  template:
    metadata:
      labels:
        app: uipath-exchange-sync-app
      name: uipath-exchange-sync-app
    spec:
      containers:
        - args:
            - "uipath-exchange-sync-app"
            - "--bind"
            - "0.0.0.0:8000"
            - "--reinfer-api-endpoint"
            - "https://<mydomain>.reinfer.io/api/"
            - "--shard-name"
            - "$(POD_NAME)"
            # This value should match `spec.replicas` above
            - "--total-shards"
            - "1"
          env:
            - name: REINFER_EWS_CONFIG
              value: "/mnt/config/example_exchange_sync_config"
            - name: REINFER_API_TOKEN
              valueFrom:
                secretKeyRef:
                  key: reinfer-api-token
                  name: reinfer-credentials
            # Only needed when using EWS API
            - name: REINFER_EWS_AUTH_PASS
              valueFrom:
                secretKeyRef:
                  key: ews-auth-pass
                  name: reinfer-credentials
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
          image: "your.private.registry.com/reinfer/ews:TAG"
          name: uipath-exchange-sync-app
          resources:
            requests:
              cpu: 0.05
              memory: 128Mi
          volumeMounts:
            - mountPath: /mnt/config
              name: config-vol
      volumes:
        - configMap:
            name: exchange-sync-config
            items:
              - key: example_exchange_sync_config
                path: example_exchange_sync_config
          name: config-vol- 将<mydomain>.reinfer.io替换为您的租户 API 端点。
- 按如下方式创建密码:kubectl create secret generic reinfer-credentials \ --from-literal=reinfer-api-token=<REINFER_TOKEN> \ --from-literal=ews-auth-pass=<MSEXCHANGE_PASSWORD>kubectl create secret generic reinfer-credentials \ --from-literal=reinfer-api-token=<REINFER_TOKEN> \ --from-literal=ews-auth-pass=<MSEXCHANGE_PASSWORD>备注:- 为避免在我们的 YAML 文件中以明文形式存储凭据,我们使用 Kubernetes 密码填充了REINFER_TOKEN和REINFER_EWS_AUTH_PASS环境变量。
- 仅在使用 EWS API 时才需要ews-auth-pass密码。
 
- 为避免在我们的 YAML 文件中以明文形式存储凭据,我们使用 Kubernetes 密码填充了
- 要从本地文件加载设备配置,请通过将数据存储在 Kubernetes 配置映射中并将配置映射装载为卷来将该文件装载到 Pod 中。
- 按如下方式创建配置映射:kubectl create configmap exchange-sync-config \ --from-file=example_exchange_sync_config=your-exchange-sync-config.jsonkubectl create configmap exchange-sync-config \ --from-file=example_exchange_sync_config=your-exchange-sync-config.json注意:作为在本地存储配置文件的替代方法,您可以将其上传到 Communications Mining,并让 Exchange 同步应用程序通过 Communications Mining API 获取该文件。Communications Mining 中的存储配置进行了说明。如果同时指定了本地和远程配置文件,则设备将使用本地配置文件。
StatefulSet ,并通过以下方式检查一切是否正在运行:
                  kubectl apply -f uipath-exchange-sync.yaml
kubectl get stskubectl apply -f uipath-exchange-sync.yaml
kubectl get sts使用 Docker
或者,您可以在 Docker 中运行 Exchange 同步应用程序。以下命令使用与Kubernetes部分中使用的相同参数启动设备:
EWS_CONFIG_DIR="location_of_your_self-hosted_appliance_config_directory"
REINFER_API_TOKEN="YOUR API TOKEN"
TAG=latest
sudo docker run \
  -v $EWS_CONFIG_DIR:/mnt/config \
  --env REINFER_EWS_CONFIG=/mnt/config/config.json \
  --env REINFER_API_TOKEN=$REINFER_API_TOKEN \
  eu.gcr.io/reinfer-gcr/ews:$TAG reinfer-ews \
  --reinfer-api-endpoint https://cloud.uipath.com/YourOrganizationName/TenantName/reinfer_/api \
  &> ews_$(date -Iseconds).logEWS_CONFIG_DIR="location_of_your_self-hosted_appliance_config_directory"
REINFER_API_TOKEN="YOUR API TOKEN"
TAG=latest
sudo docker run \
  -v $EWS_CONFIG_DIR:/mnt/config \
  --env REINFER_EWS_CONFIG=/mnt/config/config.json \
  --env REINFER_API_TOKEN=$REINFER_API_TOKEN \
  eu.gcr.io/reinfer-gcr/ews:$TAG reinfer-ews \
  --reinfer-api-endpoint https://cloud.uipath.com/YourOrganizationName/TenantName/reinfer_/api \
  &> ews_$(date -Iseconds).log- 将<mydomain>.reinfer.io替换为您的租户 API 端点。
- 将your_exchange_sync_config.json替换为 Exchange 同步应用程序配置 JSON 文件的名称。
Exchange 同步应用程序持续将电子邮件同步到 Communications Mining 平台中。如果您停止并再次启动,将从上次存储的存储桶同步状态开始。
使用 Docker(本地存储)
Exchange 同步应用程序可以在本地保存提取的电子邮件,而不是通过以下方式将其推送到 Communications Mining™ 平台:
EWS_LOCAL_DIR=
CONFIG_OWNER=
CONFIG_KEY=
TAG=
sudo docker run \
  -v $EWS_LOCAL_DIR:/mnt/ews \
  eu.gcr.io/reinfer-gcr/ews:$TAG \
  --local-files-prefix /mnt/ews \
  --remote-config-owner $CONFIG_OWNER --remote-config-key $CONFIG_KEY \
  &> ews_$(date -Iseconds).logEWS_LOCAL_DIR=
CONFIG_OWNER=
CONFIG_KEY=
TAG=
sudo docker run \
  -v $EWS_LOCAL_DIR:/mnt/ews \
  eu.gcr.io/reinfer-gcr/ews:$TAG \
  --local-files-prefix /mnt/ews \
  --remote-config-owner $CONFIG_OWNER --remote-config-key $CONFIG_KEY \
  &> ews_$(date -Iseconds).log概述
- Exchange 同步应用程序预计会在$EWS_LOCAL_DIR/config/$CONFIG_OWNER/$CONFIG_KEY.json中找到配置。或者,您可以通过设置$REINFER_EWS_CONFIG环境变量来提供配置的路径,如上一个示例所示。
- Exchange 同步应用程序将同步状态保存为$EWS_LOCAL_DIR/state。如果您停止并再次启动同步,将从上次存储的同步状态开始。
- Exchange 同步应用程序将数据保存到$EWS_LOCAL_DIR/data。
使用 Docker(Azure Blob 存储)
Exchange 同步应用程序可以通过以下方式将提取的电子邮件保存到 Azure Blob 存储,而不是将其推送到 Communications Mining™ 平台:
EWS_CONFIG_DIR=
AZ_STORAGE_ACCOUNT_NAME=
AZ_CONTAINER_NAME=
TAG=
sudo docker run \
  -v $EWS_CONFIG_DIR:/mnt/config \
  --env REINFER_EWS_CONFIG=/mnt/config/your_exchange_sync_config.json \
  eu.gcr.io/reinfer-gcr/ews:$TAG \
  --private-file-prefix az://$AZ_STORAGE_ACCOUNT_NAME/$AZ_CONTAINER_NAME \
  &> ews_$(date -Iseconds).logEWS_CONFIG_DIR=
AZ_STORAGE_ACCOUNT_NAME=
AZ_CONTAINER_NAME=
TAG=
sudo docker run \
  -v $EWS_CONFIG_DIR:/mnt/config \
  --env REINFER_EWS_CONFIG=/mnt/config/your_exchange_sync_config.json \
  eu.gcr.io/reinfer-gcr/ews:$TAG \
  --private-file-prefix az://$AZ_STORAGE_ACCOUNT_NAME/$AZ_CONTAINER_NAME \
  &> ews_$(date -Iseconds).log概述
- 您应该通过设置$REINFER_EWS_CONFIG环境变量来提供配置的路径。
- Exchange 同步应用程序使用其中一种默认 Azure 凭据方法对 Azure Blob 存储进行身份验证。确保使用对您方便的方法。无论使用哪种方法,请确保将存储 Blob 数据参与者角色授予 Exchange 同步应用程序。
- Exchange 同步应用程序将同步状态保存为az://$AZ_STORAGE_ACCOUNT_NAME/$AZ_CONTAINER_NAME/state。如果您停止并再次启动同步,将从上次存储的同步状态开始。
- Exchange 同步应用程序将数据保存到az://$AZ_STORAGE_ACCOUNT_NAME/$AZ_CONTAINER_NAME/data。
您可以在 Communications Mining™ 中管理配置文件,而不必像遵循Exchange 同步应用程序部署指南时那样向设备提供本地配置文件。请注意,如果同时指定了本地和远程配置文件,则设备将默认使用本地配置文件。
首先,将JSON 配置文件上传到 Communications Mining:
curl -H "Authorization: Bearer $REINFER_TOKEN" \
  -H "Content-Type: multipart/form-data" \
  -F 'file=@your_exchange_sync_config.json' \
  -XPUT https://<mydomain>.reinfer.io/api/v1/appliance-configs/<project-name>/<config-name>curl -H "Authorization: Bearer $REINFER_TOKEN" \
  -H "Content-Type: multipart/form-data" \
  -F 'file=@your_exchange_sync_config.json' \
  -XPUT https://<mydomain>.reinfer.io/api/v1/appliance-configs/<project-name>/<config-name>要查看当前配置,请执行以下操作:
curl -H "Authorization: Bearer $REINFER_TOKEN" \
  -XGET https://<mydomain>.reinfer.io/api/v1/appliance-configs/<project-name>/<config-name>curl -H "Authorization: Bearer $REINFER_TOKEN" \
  -XGET https://<mydomain>.reinfer.io/api/v1/appliance-configs/<project-name>/<config-name>--remote-config-owner参数设置为项目名称,将--remote-config-key参数设置为配置名称。
               应用程序参数
下表包含可用应用程序参数的列表。要了解有关运行 Exchange Sync 应用程序的更多信息,请查看部署部分。
| 参数 | 描述 | 
|---|---|
| --reinfer-api-endpoint | 用于连接到 Reinder API 的端点。 与 --local-files-prefix互斥。 | 
| --local-files-prefix | 用于存储已同步电子邮件和存储桶同步状态的路径。 与 --reinfer-api-endpoint和REINFER_API_TOKEN互斥。 | 
| --remote-config-owner | 拥有远程 Exchange 同步应用程序配置文件的项目。 | 
| --remote-config-key | 远程 Exchange 同步应用程序配置文件的名称。 | 
| --debug-level | 调试级别,其中: 
 1。 | 
| --shard-name | 要从中提取分片编号的分片名称,即 uipath-exchange-sync-app-N。在 Kubernetes 中运行时,可以将其设置为 Pod 名称。 | 
| --total-shards | 设备集群中的实例总数。在 Kubernetes 中运行时,该参数必须设置为与状态副本集中的实例数量相同的值。 | 
| --restart-on-unrecoverable-errors | 如果启用,则不可恢复的故障将导致整个服务重新启动而不会崩溃。 | 
配置参数
下表列出了可用的配置参数。要了解有关编写 Exchange Sync App 配置文件的更多信息,请查看配置部分。
| 名称 | 描述 | 
|---|---|
| host | 仅与 EWS API 一起使用。Exchange 服务器主机。可以通过 REINFER_EWS_HOST环境变量覆盖。 | 
| port | 仅与 EWS API 一起使用。Exchange 服务器端口。默认为 80。您可以使用REINFER_EWS_PORT环境变量覆盖它。 | 
| auth_type | 仅与 EWS API 一起使用。仅允许 ntlm。 | 
| auth_user | 仅与 EWS API 一起使用。Exchange 服务器用户。您可以使用 REINFER_EWS_AUTH_USER环境变量覆盖它。 | 
| auth_password | 仅与 EWS API 一起使用。Exchange 服务器密码。您可以使用 REINFER_EWS_AUTH_PASS环境变量覆盖它。 | 
| access_type | 仅与 EWS API 一起使用。访问类型可以是 delegate或impersonation。默认值为delegate。您可以使用REINFER_EWS_ACCESS_TYPE环境变量覆盖它。 | 
| ews_ssl_verify | 仅与 EWS API 一起使用。如果设置为 false,则不会验证证书。默认值为true。 | 
| poll_frequency | 批次之间的等待时间(以秒为单位)。默认为 15。 | 
| poll_message_sleep | 批处理中各个电子邮件之间的等待时间(以秒为单位)。默认为 0.1。 | 
| max_concurrent_uploads | 上传到 Communications Mining 的并发数量,介于 0 到 32 之间。默认为 8。 | 
| emails_per_folder | 每批从每个文件夹中获取的最大电子邮件数,介于 1 到 100,000 之间。默认为 2520。如果文件夹非常大,此设置允许 Exchange 同步应用程序在所有文件夹上均匀地取得进度。 | 
| reinfer_batch_size | 每批要获取的电子邮件数量,介于 1 到 1000 之间。默认为 80。 | 
| mailboxes | 要提取的邮箱列表。有关如何配置邮箱的更多详细信息,请查看配置部分。 | 
| audit_email | 如果已为设备配置远程配置,则每当更新配置时,Communications Mining 都会向该地址发送电子邮件。默认为 None。 | 
| ews_ssl_ciphers | 仅与 EWS API 一起使用。让 Exchange 同步应用程序使用特定密码。密码应为OpenSSL 密码列表格式的字符串。默认值为 None。 |