Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
145 lines
6.2 KiB
Plaintext
145 lines
6.2 KiB
Plaintext
---
|
||
title: 日历与电子邮件
|
||
description: 将您的电子邮件和日历账户连接到 Twenty。
|
||
---
|
||
|
||
## 连接选项
|
||
|
||
### Google账号(Gmail和Google日历)
|
||
|
||
1. 转到 **设置 → 账户**
|
||
2. 点击**添加账户**
|
||
3. 选择**继续使用Google**
|
||
4. 授权 Twenty 访问您的 Gmail 和 Google 日历
|
||
5. 配置电子邮件同步设置(可见性、自动创建)→ 点击 **下一步**
|
||
6. 配置日历同步设置(可见性、自动创建)→ 点击 **添加账户**
|
||
7. 您的电子邮件和日历事件将自动开始同步
|
||
|
||
### Microsoft 账户(Outlook 和 Microsoft 日历)
|
||
|
||
1. 转到 **设置 → 账户**
|
||
2. 点击**添加账户**
|
||
3. 选择**继续使用Microsoft**
|
||
4. 授权 Twenty 访问您的 Outlook 和 Microsoft 日历
|
||
5. 配置电子邮件同步设置(可见性、自动创建)→ 点击 **下一步**
|
||
6. 配置日历同步设置(可见性、自动创建)→ 点击 **添加账户**
|
||
7. 您的电子邮件和日历事件将自动开始同步
|
||
|
||
### IMAP/SMTP/CalDAV设置(其他提供商)
|
||
|
||
对于其他电子邮件和日历提供商:
|
||
|
||
1. 前往**设置→账户**
|
||
2. 配置 IMAP 设置以同步接收邮件,并配置 SMTP 设置以发送邮件
|
||
3. 配置日历的CalDAV设置
|
||
4. 测试连接
|
||
|
||
<Note>
|
||
**在物理隔离或内部网络中自托管**:默认情况下,Twenty 会拒绝到私有/内部 IP 地址的出站连接(SSRF 保护)。 如果你的邮件或日历服务器运行在本地/私有 IP 上(例如局域网中的本地部署服务器),与其的连接将会被阻止。 要允许这些连接,请在服务器上设置以下环境变量:
|
||
|
||
```
|
||
OUTBOUND_HTTP_SAFE_MODE_ENABLED=false
|
||
```
|
||
|
||
这会为**所有**出站请求(HTTP 工作流操作、Webhook,以及 IMAP/SMTP/CalDAV 连接)禁用安全模式,因此只应在无需 SSRF 保护的受信任、隔离网络中进行此设置。
|
||
</Note>
|
||
|
||
### 多个邮箱
|
||
|
||
* **无限账户**:每用户可连接多个电子邮件账户
|
||
* **账户管理**:在不同邮箱之间切换
|
||
* **同步设置**:为各邮箱配置不同设置
|
||
|
||
<Warning>
|
||
只能连接真正的邮箱(如:support@domain.com及其独立收件箱)。 电子邮件别名转发到其他邮箱不能连接到Twenty。
|
||
</Warning>
|
||
|
||
## 电子邮件配置
|
||
|
||
### 邮件可见性
|
||
|
||
为您的电子邮件选择不同的可见性级别:
|
||
|
||
* **仅元数据**:仅分享基本信息(发件人、收件人、日期、时间)
|
||
* **主题和元数据**:分享主题行以及元数据
|
||
* **所有电子邮件内容**:分享全部电子邮件内容,包括附件
|
||
|
||
### 联系人自动创建
|
||
|
||
* **已停用**:无自动联系人创建
|
||
* **发送和接收消息**:为所有外部电子邮件交互创建联系人
|
||
* **仅用于发送的消息**:仅为您发送的电子邮件创建联系人
|
||
* **注意**:默认情况下,内部电子邮件(所有参与者都使用你的域名)不会被同步,以保护隐私
|
||
|
||
<Note>启用后,联系人会根据其电子邮件域名自动关联到其公司记录。 如果该公司尚不存在,Twenty 会为您创建该公司。</Note>
|
||
|
||
<Note>
|
||
**同步内部电子邮件**:"未同步内部电子邮件" 的行为是默认设置,但可以关闭。 该切换位于高级设置中:
|
||
1. 打开 **设置**,并在设置页面底部启用 **高级** 切换开关
|
||
2. 转到 **常规 → 安全**
|
||
3. 启用 **同步内部电子邮件** 切换开关,以包含所有参与者共享同一域名的电子邮件
|
||
|
||
这是一个针对整个工作区的设置(对大学或共享域组织非常有用)。
|
||
</Note>
|
||
|
||
### 通过消息文件夹选择控制哪些电子邮件同步
|
||
|
||
控制哪些电子邮件文件夹与Twenty同步:
|
||
|
||
1. 前往**设置 → 账户**并选择您已连接的电子邮件账户
|
||
2. 选择要同步的文件夹:
|
||
* **收件箱**:主要的收入电子邮件
|
||
* **已发件箱**:您发送的外发电子邮件
|
||
* **自定义文件夹**:您希望包含的任意特定文件夹
|
||
* **排除文件夹**:跳过像垃圾邮件、垃圾桶或个人文件夹这样的文件夹
|
||
|
||
这样您无需同步所有内容,即可精确控制哪些电子邮件会出现在您的客户关系管理系统中。
|
||
|
||
**同步内容**:
|
||
|
||
* **外部电子邮件**:所有具有外部联系人的电子邮件来自选择的文件夹
|
||
* **内部电子邮件**:默认不进行同步(同域邮件保留隐私)。 在 **设置** 底部启用 **高级** 切换开关,然后在 **常规 → 安全** 下打开 **同步内部电子邮件**,即可在整个工作区内将其包含在内。
|
||
* **附件**:2026年H1推出
|
||
|
||
**注意**:我们不提供选择性同步的CC电子邮件地址。 相反,使用上述消息文件夹功能来实现同样水平的电子邮件同步控制。
|
||
|
||
## 日历配置
|
||
|
||
### 事件可见性
|
||
|
||
选择其他用户在您的工作区中可见的内容:
|
||
|
||
* **Everything**:整个事件的详细信息将与您的团队分享
|
||
* **Metadata**:只有日期和参与者将共享给您的团队
|
||
|
||
### 会议的联系人自动创建
|
||
|
||
* **是**:自动为非CRM中的会议参与者创建联系人
|
||
* **否**:仅将会议链接到现有联系人
|
||
|
||
<Note>启用后,联系人会根据其电子邮件域名自动关联到其公司记录。 如果该公司尚不存在,Twenty 会为您创建该公司。</Note>
|
||
|
||
### 控制哪些事件被同步
|
||
|
||
* **会议导入**:自动导入日历事件
|
||
* **联系人链接**:将会议链接到人员和公司记录
|
||
|
||
**同步内容**:
|
||
|
||
* **会议**:包含外部参与者的日历事件
|
||
* **联系人链接**:事件自动链接到CRM记录
|
||
* **团队事件**:共享日历可见性
|
||
|
||
## 同步频率
|
||
|
||
**每5分钟更新**:电子邮件和日历数据在首次导入后每5分钟自动同步。
|
||
|
||
<Note>
|
||
**初始同步耗时**: 日历同步完成很快 (通常在几分钟内),而对于大型邮箱,邮件同步耗时更长。 Twenty 以约**每分钟 400 封**的速度导入邮件 (受 Gmail API 速率限制),因此包含 10,000 封邮件的邮箱大约需要 25 分钟。 如果您看到来自日历事件的联系人早于电子邮件联系人出现,请不必担心;这是正常行为。
|
||
</Note>
|
||
|
||
## 下一步
|
||
|
||
* [邮箱功能](/l/zh/user-guide/calendar-emails/capabilities/mailbox)
|
||
* [排查缺失的电子邮件](/l/zh/user-guide/calendar-emails/how-tos/i-dont-see-emails-on-records)
|