Warmbly文档

导入邮箱

通过电子表格、供应商导出文件或粘贴的名单,批量连接数百乃至数千个邮箱。

导入邮箱可以使用邮箱供应商或之前使用的发送工具提供的文件,一次连接多个邮箱。只需提供地址和密码,系统会自动查找服务器、端口和加密方式。

导入文件

打开账户,选择添加账户,然后选择导入邮箱。

上传 CSV、TSV 或 XLSX 文件,或粘贴列表,例如 address:password,每行一个邮箱。

检查预览:系统会自动匹配每一列,你也可以手动重新指定。

开始导入。导入在服务器上运行,因此关闭标签页不会中断。

使用须知

  • 每次最多导入 5,000 个邮箱,文件大小上限为 10 MB。
  • Google 邮箱需要由 16 个字母组成的应用专用密码。Microsoft 365 和 Outlook.com 邮箱则通过 Microsoft 登录来连接。
  • 要为整个域名免去密码输入,可以连接整个 Google Workspace 域名或整个 Microsoft 365 组织。
  • 邮箱供应商选项可以使用 API 密钥,直接从你购买邮箱的供应商处读取邮箱。
  • 失败的行会按原因分组,你可以在 7 天内修正并重试,无需重新上传。

浏览时的筛选条件、搜索内容和视图选择会保存在浏览器标签页中,刷新或切换页面后仍会保留,并按用户和工作区分别保存。

导入邮箱可以一次连接多个邮箱。打开账户,选择添加账户,然后选择导入邮箱。它会读取邮箱供应商或之前使用的发送工具提供的文件,识别每一列的含义以及各域名的邮件托管位置,并在后台逐行连接邮箱。

只需提供地址和密码。系统会自动查找服务器、端口和加密方式。

另外三种来源完全不需要文件,都可以从同一个添加账户对话框进入:

  • 邮箱供应商:使用 API 密钥,直接从你购买邮箱的供应商处读取邮箱。参见从邮箱供应商导入。
  • Google > 整个 Workspace 域名:Workspace 超级管理员只需授权 Warmbly 一次,该域名下的每个邮箱即可免密码连接。参见连接整个 Google Workspace 域名。
  • Microsoft > 整个组织:全局管理员只需同意授权一次,组织内每个已获许可的邮箱即可连接,无需逐个登录。参见连接整个 Microsoft 365 组织。

这三种方式都会创建与文件导入相同的导入任务:在后台运行,展示相同的进度,并按原因对失败项分组。

  • 文件:CSV、TSV 或 XLSX(当前活动工作表),大小不超过 10 MB。CSV 可以用逗号或分号分隔各列;在用逗号表示小数点的地区,电子表格应用通常使用分号作为分隔符。系统会根据表头行判断使用哪一种。
  • 粘贴的列表:从电子表格复制的单元格、CSV 文本,或每行一个邮箱,格式为 address:password、address;password 或 address password。邮箱地址不会包含冒号或分号,因此密码即使包含这些符号,也会被完整读取。
[email protected]:abcdabcdabcdabcd
[email protected]:abcd efgh ijkl mnop

每次最多导入 5,000 个邮箱。文件更大时,请拆分后分别导入。

除非首行包含邮箱地址,否则系统会将它视为表头。对话框中的首行为表头选项可以覆盖这一自动判断。

系统会自动将每一列匹配到字段。以下规则按顺序应用,先匹配到的规则优先:

  1. 之前确认过的映射。 导入文件时,列映射会按完全相同的一组表头保存在工作区中,因此下一个使用相同表头的文件会自动套用映射。
  2. 表头名称。 系统可以识别 Warmbly 自带模板,以及 Smartlead、Instantly、Saleshandy、Zapmail 和 InboxKit 导出文件中的列名,也支持常见写法,如 smtp_server、app_password、login、From Email 等。识别出某种导出格式时,对话框会显示其名称。
  3. 列中的值。 即使没有表头,系统也能识别邮箱地址列、由 16 个字母组成的 Google 应用专用密码列、smtp. 或 imap. 主机名列,以及包含 587、993 等端口号的列。
  4. Jev:如果实例配置了 TypeSafe,Jev 会处理上述规则仍未匹配的列。Jev 只会看到表头文字和值的特征描述,例如“16 个小写字母”或“主机名”,不会看到实际值。

每一列都可以手动重新指定,也可以设为忽略。密码列会在对话框中遮蔽显示,此后不会再次显示。

字段内容
email邮箱地址。这是唯一必须映射的列
name, first_name, last_name发件人姓名。未提供时,从地址推导,例如 alex.rivera@ 会变成 Alex Rivera
password邮箱密码
app_password应用专用密码。对于要求使用应用专用密码的服务商,此字段优先于 password
smtp_password, imap_password仅用于其中一个服务器的密码
username, smtp_username, imap_username登录名;登录名不是邮箱地址时使用
smtp_host, smtp_port, smtp_security发件服务器配置,覆盖自动检测结果
imap_host, imap_port, imap_security收件服务器配置,覆盖自动检测结果
daily_limit每天发送的营销活动邮件数量
min_wait两次发送之间的间隔秒数
warmup开启或关闭预热(yes/no、true/false、on/off)
warmup_start, warmup_max, warmup_increase, warmup_reply_rate预热首日发送量、每日上限、每日递增量和回复百分比
reply_to回复地址
signature纯文本签名
tags标签名称,以逗号、分号或竖线分隔,每行最多 20 个
timezone邮箱的时区

安全方式列接受 SSL、TLS、SSL/TLS 和 STARTTLS,也支持某些导出文件使用的 true/false SSL 列。未提供时,根据端口决定安全方式。

系统会按域名查找一次服务器,依次使用 DNS 和服务商公开的配置:

  1. 已知的个人邮箱域名,如 gmail.com、outlook.com、yahoo.com、icloud.com 等。
  2. 域名的 MX 记录,可识别 Google Workspace、Microsoft 365、Zoho(包括数据中心所在地区)、GoDaddy、Namecheap Private Email、IONOS、Hostinger、Fastmail、Yahoo、iCloud、Migadu、Purelymail、Rackspace、OVHcloud、Yandex 和 GMX。
  3. 域名自身的 Mozilla 自动配置文件。
  4. Thunderbird ISPDB:适用于 Warmbly Cloud,以及设置了 MAILHOST_ISPDB=true 的自托管实例。
  5. RFC 6186 SRV 记录。

预览会为每个域名列出服务商、找到的服务器,以及是否已发布 SPF、DKIM 和 DMARC 记录。smtp_host 和 imap_host 列,以及端口和安全方式列,会覆盖自动检测结果。无法识别服务器的域名需要提供这些列,或在导入后逐行输入服务器信息。

每个邮箱都会标注托管位置和登录方式。API 会通过 mail_host 和 auth_method 返回这些信息。对于尚未记录托管位置的邮箱,例如在引入这些标签之前连接的邮箱,系统会在后台根据其域名进行分类。

托管服务商密码要求获取位置
Google Workspace、Gmail由 16 个字母组成的应用专用密码,空格会自动移除。如果 Workspace 域名已由管理员授权覆盖,则无需密码启用两步验证后,前往 myaccount.google.com/apppasswords。参见 Gmail 和 Google Workspace
Microsoft 365、Outlook.com无需密码:每个邮箱通过 Microsoft 登录连接;如果域名已有管理员授权,则通过该授权连接该行中的登录按钮
Yahoo Mail应用专用密码login.yahoo.com/account/security
AOL Mail应用专用密码login.aol.com/account/security
iCloud Mail应用专用密码account.apple.com 中的“登录与安全”
Fastmail具有 IMAP 和 SMTP 访问权限的应用专用密码设置 > 隐私与安全 > 管理应用专用密码
Yandex Mail应用专用密码id.yandex.com/security/app-passwords
Zoho Mail账户密码;开启双因素身份验证时,使用应用专用密码你所在地区的 Zoho Accounts 中,安全 > 应用专用密码
GoDaddy、Namecheap Private Email、IONOS、Hostinger、OVHcloud、Migadu、Purelymail、Rackspace Email、GMX邮箱密码服务商的控制面板
Proton Mail无法通过这种方式连接参见下方的 Proton Mail
其他服务商邮箱密码向服务商获取。服务器信息来自自动配置、ISPDB、SRV 记录或你提供的列

Google

如果 Google 邮箱行的密码不是由 16 个字母组成的应用专用密码,系统会在尝试连接之前就在预览中标记出来:Google 不接受使用账户密码通过 IMAP 和 SMTP 登录。如果实例使用 Google 登录来连接新的 Gmail 邮箱(对应 gmail_oauth_connect,可在 GET /auth/config 中查看),这类行就会像 Microsoft 邮箱行一样等待登录。

等待 Google 登录的行,只有在启用了 Google 邮箱 OAuth 的部署中才会提供登录操作。否则请使用应用专用密码或管理员授权。Microsoft 登录不受这一开关影响。

Microsoft

Exchange Online 已不再接受通过 IMAP 使用密码登录,因此 Microsoft 365 和 Outlook.com 邮箱行会通过 Microsoft 登录连接。导入会将它们暂时标为需要登录,继续处理文件中的其他行。每行都有一个登录按钮,用于打开 Microsoft 登录页面,并预先填好邮箱地址。只要该地址成功连接,无论是通过此行还是其他途径,该行就会完成,导入设置也会应用到邮箱。

Microsoft 365 管理员可以为整个组织同意授权一次,之后每个邮箱只需点击一次即可登录。如果 Microsoft 在登录时显示需要管理员批准,登录一个邮箱面板会显示一个审批链接,你可以将其发给管理员。如果希望完全省去逐个登录,可以改为连接整个组织:其域名下的邮箱行即可直接连接。Microsoft 还宣布,自 2026 年 12 月底起,将默认对现有租户禁用使用基本身份验证的 SMTP AUTH,这也是这些邮箱使用登录授权而非密码连接的另一个原因。

Proton Mail

Proton Mail 不向其他应用提供 IMAP 或 SMTP 登录,只有其 Bridge 提供。如果尝试导入 Proton 邮箱,系统会标记为无法连接。如果自托管实例的工作节点与 Bridge 运行在同一台机器上,可以将 smtp_host 和 imap_host 列及端口映射到 Bridge,并使用 Bridge 自身的密码。参见本地邮件中继。

选择添加账户,然后选择邮箱供应商,选定供应商并粘贴 API 密钥。所有供应商都只需提供这一项。Warmbly 会先向供应商验证密钥,再保存它,列出密钥可访问的邮箱(标记已在工作区中的邮箱),然后导入你选中的邮箱,或导入所有尚未连接的邮箱。

如果一个密钥可访问多个工作区(在 ScaledMail 中称为组织),系统会列出它们的所有邮箱,无需你查找工作区 ID。列表上方的工作区切换器可以将范围缩小到某个工作区,同时显示每个工作区已选中的数量; 选择此工作区中的…… 可以一键选中该工作区所有尚未连接的邮箱。选中需要的邮箱即可,其余邮箱仍保留在供应商处。

供应商密钥获取位置
InboxKitInboxKit 控制台中的设置 > API 与集成
ZapmailZapmail 控制台中的设置 > 集成 > API。列表会同时显示 Google 和 Microsoft 邮箱
MailforgeMailforge 控制台中的设置 > API 密钥
InfraforgeInfraforge 控制台中的设置 > API 密钥
MaildosoMaildoso 控制台中的设置 > API 密钥,使用个人访问令牌
Cheap InboxesCheap Inboxes 控制台中的集成 > API,密钥以 ci_live_ 开头
ScaledMailScaledMail 控制台中的设置

每个供应商账户最多列出 10,000 个邮箱。

  • 处理每一行时才读取凭据。 选择邮箱时只会保存选中了哪些邮箱。每行连接时,系统才会向供应商获取该邮箱的密码、应用专用密码和服务器信息,然后按与文件行完全相同的规则处理:Google 邮箱需要供应商持有的应用专用密码,或域名已有管理员授权;Microsoft 邮箱则通过其域名的授权连接。
  • 供应商可以代你授权 Warmbly。 如果某行原本需要等待登录,而供应商可以通过其持有的域名管理员邮箱批准应用(InboxKit 支持这种方式),Warmbly 就会请求供应商进行授权:为 Warmbly 的 Microsoft 应用提供租户范围的管理员同意,或为 Warmbly 的 Google 客户端设置全域委派。在此期间,邮箱行会显示为 正在授权 ,并分别显示供应商返回的请求状态,例如排队中或处理中。授权最多可能需要一小时。如果某个 Google 域名在等待管理员操作,该行会注明具体步骤:将 Warmbly 的客户端 ID 和权限范围添加到“安全 > 访问权限和数据控制 > API 控制 > 全域委派”。如果供应商在 20 分钟内未推进请求,该行会说明情况,并提供时间和请求 ID,供你联系供应商客服。导入任务会一直保持打开,直到邮箱自行连接,无需任何人逐个登录。如果想更快连接, 一次连接全部(管理员登录) 可以使用该域名的全局管理员账户登录一次(供应商会提供登录信息),完成原本请求供应商处理的授权:域名下的每个 Microsoft 邮箱会在一分钟内连接,以后导入到该域名的邮箱也无需登录。行内的 登录 则以该邮箱身份登录,只连接这一个邮箱。一个请求即可覆盖整个域名的所有邮箱。最终创建的授权仅覆盖此供应商账户持有的域名,即使供应商的 Microsoft 组织中还有其他域名也不包括在内。Google 域名需要供应商列表中存在管理员邮箱。如果供应商无法授权该域名,或两小时内仍未完成,该域名的行就会退回 登录 状态,并在行内注明原因。取消导入时,仍在等待的行也会进行同样的处理。
  • 密钥加密保存,此后不会再次显示。 API 密钥会使用工作区自己的加密密钥加密。连接列表只显示供应商、名称、状态和邮箱数量,不显示密钥。更新会先向供应商验证新密钥,然后替换旧密钥。
  • 自动获取供应商轮换后的密码。 对于来自供应商、因尚未解决的连接错误而停止运行的 SMTP 和 IMAP 邮箱,系统每 15 分钟检查一次。如果供应商当前持有的密码已更改,Warmbly 会向服务器验证新密码,并用它重新连接邮箱。每个邮箱最多每 6 小时尝试一次,因此仍然无效的密码不会在每轮检查中反复尝试。
  • 密钥被拒绝时会标记连接。 如果供应商接受密钥,但该密钥无法访问任何工作区,系统会以 mailbox_vendor_no_workspace 拒绝连接,因为没有可列出的内容。如果供应商不再接受密钥,连接会显示为无效,并附上供应商返回的原因;依赖该密钥的行会以 vendor_unauthorized 失败,直到密钥更新。
  • 删除连接会保留邮箱。 邮箱仍保持连接并继续发送,但供应商轮换密码时,它们不会再自动重新连接。

Google Workspace 超级管理员可以通过全域委派,为整个域名授权 Warmbly。之后,域名下的每个邮箱都可通过这一授权连接:不需要应用专用密码,不会因某人修改密码而失效,各邮箱所有者也无需操作。这是连接 Workspace 邮箱的推荐方式。

选择添加账户,然后选择 Google,再选择整个 Workspace 域名。对话框会显示客户端 ID 和需要授权的权限范围。在自托管实例中,运维人员配置 Google 服务账户之前,此选项会保持禁用。参见整域邮箱连接。

首先由超级管理员授权客户端 ID。这一步必须在证明域名控制权之前完成,因为 Warmbly 会立即检查授权:

  1. 以超级管理员身份登录 admin.google.com,进入安全 > 访问权限和数据控制 > API 控制,然后选择管理全域委派。

  2. 选择添加新条目,粘贴对话框显示的客户端 ID。它是一串很长的数字,绝不会以 apps.googleusercontent.com 结尾。

  3. 准确输入以下三个权限范围,以逗号分隔:

    https://www.googleapis.com/auth/gmail.modify,https://www.googleapis.com/auth/gmail.settings.basic,https://www.googleapis.com/auth/admin.directory.user.readonly
  4. 选择授权,等待几分钟,让 Google 应用更改。

然后返回 Warmbly,输入域名及该域名上的超级管理员地址,并按下述步骤证明域名控制权。

证明工作区有权控制该域名

客户端 ID 属于实例,不属于你的工作区,因此仅为其授权并不能说明是哪个工作区发起了请求。只有通过以下任一方式证明控制该域名的工作区,才会记录这项授权:

  • 以管理员身份登录。 如果实例配置了 Google 登录应用,Warmbly 会为你输入的管理员地址打开 Google 登录页面。登录地址必须与输入的地址完全相同,经过 Google 验证,并且属于该 Workspace 域名。

  • 发布 DNS 记录。 此方式始终可用;对于没有 Google 登录应用的实例,这是唯一的验证方式。在 DNS 服务商处添加以下 TXT 记录,然后确认:

    类型名称值
    TXT_warmbly.<domain>warmbly-verify=<value>

    该值对应你的工作区和域名这一唯一组合,因此为其他工作区发布的记录不能证明你的工作区拥有控制权。它与根域名重定向所需的域名验证记录相同,因此一条记录可同时用于两者。DNS 更改可能需要一段时间才会生效;记录可解析后,再次确认即可。

登录链接有效期为 15 分钟,只能使用一次,而且只能由发起操作的成员在同一工作区中使用。记录授权时,你还需要对自己的登录身份进行近期确认。

证明控制权之后,Warmbly 会检查授权本身:读取管理员自身的 Gmail 资料和域名的用户目录,并确认目录中将该地址列为超级管理员。管理控制台中的更改可能需要几分钟才会生效,因此刚保存后如果被拒绝,可以再试一次。授权会覆盖该域名,以及所有用户地址中出现的其他域名。再次为同一域名创建授权时,系统会重新验证并更新现有授权,不会新建第二项。

管理员地址只用于读取目录,方便你选择要连接的邮箱。系统不会连接该管理员邮箱,也不会保存其令牌。前两个权限范围与通过 Google 登录连接的邮箱所持有的权限相同;第三个权限范围用于读取用户列表。

从目录中选择用户,或连接所有尚未在工作区中的活跃用户。如果某个邮箱已经通过自身的 Google 登录连接到工作区,系统会将其标记为可迁移:连接它会直接将现有邮箱切换为使用管理员授权,并保留其历史记录、营销活动和预热;选择连接全部用户时也会包含它。每个邮箱在连接时都会通过 Gmail 验证,并像通过 Google 登录连接的邮箱一样使用 Gmail API。系统不会为任何邮箱保存令牌;每当工作节点需要时,后端都会生成一个短期令牌。

系统每小时重新检查一次授权。如果 Google 不再认可授权,例如管理控制台中的条目被删除,或某项权限范围被移除,授权会显示为无效,其邮箱也会停止运行。如果检查未获得 Google 的响应,则不会改变现状。之后的检查成功时,因该授权失效而停止的邮箱会自动恢复运行;你手动关闭的邮箱仍会保持关闭。重新检查会立即执行检查。删除授权会停止所有通过该授权连接的邮箱。

通过授权连接邮箱和删除授权都会影响整个域名的邮件,因此与记录授权一样,这两种操作都需要近期确认你的登录身份。

要移除授权,打开添加账户 > Google > 整个 Workspace 域名或 Microsoft > 整个组织,在该授权的更多菜单中选择移除授权。确认移除,如果出现提示,再完成确认是你本人。移除操作会等待身份验证,成功后自动继续。返回 403 且代码为 reauth_required 表示需要完成这项检查,并不表示域名归另一个实例所有。移除授权会停止本实例中依赖它的邮箱;不会删除在另一个自托管实例中通过应用专用密码连接的邮箱。

全局管理员可以一次性为整个 Microsoft 365 组织批准 Warmbly。之后,邮箱通过具有应用程序权限的 Microsoft Graph 连接,无需逐个登录。这是连接 Microsoft 365 邮箱的推荐方式。

选择添加账户,然后选择 Microsoft,再选择整个组织,由全局管理员或特权角色管理员在打开的 Microsoft 授权同意页面中选择接受。窗口随后会通过登录确认批准者身份,通常无需再次操作,然后关闭。只有登录者具有上述角色之一,Warmbly 才会记录该组织。这是 Microsoft 端唯一需要进行的步骤,而且只需一次。在自托管实例中,运维人员需要先配置 Microsoft 应用,此选项才可用。参见整域邮箱连接。同意授权会在该组织中向实例的 Microsoft 应用授予以下应用程序权限:

权限用途
Mail.ReadWrite读取回复并移动邮件
Mail.Send发送邮件
User.Read.All列出组织的用户,方便你选择要连接的邮箱

记录的组织是管理员登录的组织,以 Microsoft 在授权完成时返回的信息为准,因此授权始终只能对应实际同意授权的组织。随后,Warmbly 会获取该组织的令牌并读取其用户;用户地址中的域名(不包括来宾用户)会成为授权覆盖的域名。授权链接有效期为 15 分钟,只能使用一次,而且只能由发起操作的成员在同一工作区中使用。记录授权需要对自己的登录身份进行近期确认,通过该授权连接邮箱和删除授权也有相同要求。再次为同一组织同意授权时,会更新现有授权,不会新建第二项。

应用程序权限可以访问组织中的每个邮箱。Microsoft 允许 Exchange 管理员将范围缩小到你选择的邮箱,我们建议这样做。可以在 Exchange Online PowerShell 中配置应用程序访问策略:

Connect-ExchangeOnline
# A mail-enabled security group holding the mailboxes Warmbly may use
New-DistributionGroup -Name "Warmbly senders" -Type Security -PrimarySmtpAddress warmbly-[email protected]
Add-DistributionGroupMember -Identity "Warmbly senders" -Member [email protected]
# <app id> is the Application (client) ID of the app you consented to, under Enterprise applications in the Microsoft Entra admin center
New-ApplicationAccessPolicy -AppId <app id> -PolicyScopeGroupId warmbly-[email protected] -AccessRight RestrictAccess -Description "Warmbly sends only from these mailboxes"
Test-ApplicationAccessPolicy -Identity [email protected] -AppId <app id>

Microsoft 较新的 RBAC for Applications 可以使用管理范围和角色分配实现同样的限制:先使用 New-ManagementScope,再使用 New-ManagementRoleAssignment -App <app id> -Role "Application Mail.ReadWrite",并将 "Application Mail.Send" 与 -CustomResourceScope 配合使用。这些限定范围的角色分配会叠加在授权同意授予的权限之上,因此切换到这种方式时,需要在 Microsoft Entra 中移除组织范围的 Mail.ReadWrite 和 Mail.Send 授权同意。不在策略范围内的邮箱会在连接时被拒绝。

从目录中选择用户,或连接所有尚未在工作区中的已启用用户。列表只显示具有邮箱地址的用户。如果某个邮箱已经通过自身的 Microsoft 登录连接到工作区,系统会像处理 Google 邮箱一样将其标记为可迁移:连接它会直接将现有邮箱切换为使用管理员授权,选择连接全部用户时也会包含它。Microsoft 邮箱可以自行决定是否迁移;它们原有的登录方式仍然有效。每个邮箱在连接时都会通过 Microsoft Graph 验证;已禁用的账户或没有 Exchange Online 许可证的用户没有可连接的邮箱,因此会被拒绝。与 Google 一样,系统不保存令牌,而是在工作节点需要时由后端生成。授权每小时检查一次;授权同意被撤回时,相关邮箱会停止,之后检查恢复成功时会重新启动;如果检查未收到 Microsoft 的响应,则不会改变现状;删除授权会停止所有通过该授权连接的邮箱。

文件或粘贴列表无需包含管理员授权信息。如果某行的域名已有有效授权,该行就会通过此授权连接:

  • Google Workspace 邮箱行通过域名的 Google 授权连接,忽略该行中的任何密码。
  • Microsoft 365 邮箱行通过组织授权连接,无需等待登录。

从邮箱供应商导入的行也遵循相同规则。导入之后创建的授权同样有效:在其覆盖域名中,仍等待 Google 或 Microsoft 登录的行会重新排队,并在一分钟内通过该授权连接,无需再次导入。预览会标记这些行,每个已连接邮箱也会标注登录方式 delegated。如果授权失效,相关行会以 mailbox_grant_inactive 失败;检查授权后,再重试这些行。

只要邮箱地址已在工作区中,无论由谁连接,系统都会按不区分大小写的方式匹配。如果邮箱已连接选项决定处理方式:

  • 更新(默认):先向服务器验证新密码,通过后替换已保存的密码,并应用映射的设置。只有文件中提供发件人姓名时,才会修改姓名。
  • 跳过:保留邮箱原状,并将该行标记为已跳过。

通过 Google 或 Microsoft 登录连接的邮箱只会应用设置,因为没有可替换的密码。如果其域名已有有效授权,该行会直接将现有邮箱切换为使用授权,并保留历史记录、营销活动和预热(参见从逐邮箱 Google 登录迁移);跳过则保留原状。如果同一地址在一个文件中出现两次,只导入第一行,后续行会以在文件中重复列出为由跳过。

对话框可以为此次导入连接或更新的所有邮箱设置以下选项。某行存在已映射的列时,该列的值优先于这些统一设置。

  • 标签。
  • 每日发送上限。
  • 两次发送之间的间隔;对话框以分钟为单位,min_wait 列以秒为单位。
  • 开启或关闭预热,以及起始发送量、最大值、每日递增量和回复率。
  • 回复地址、签名和时区。

标签会添加到邮箱现有的标签中。tags 列中的标签如果尚不存在,系统会创建它。某项设置无法应用时,不会导致该行失败:邮箱仍会连接,该行的提示会说明哪些设置未应用。如果某个值完全无法解析,例如发送上限列中填了文字,则该行会在尝试连接之前失败。有关合理的取值,参见发送行为和预热。

在检查步骤中,你可以一次性为此次导入的所有域名设置两个选项,界面还会说明其中有多少域名可由邮箱供应商代为配置。导入连接各域名的邮箱时会应用这两个选项,之后也可以在发件域名中修改。

  • 自有跟踪域名。 默认开启。该子域名用于跟踪域名下所有邮箱的打开和点击,默认为 link.<domain>,除非你输入其他名称替换 link。如果域名已有可用的跟踪主机,则会保留:可以是同域名下某个已验证邮箱正在使用的主机,也可以是 DNS 已指向本实例的主机;Warmbly 会依次尝试 link、links、track、t、click、go、email 和 trk。如果已连接的邮箱供应商账户持有该域名,且其 API 支持写入 DNS 记录,Warmbly 会通过供应商为你写入 CNAME。否则,需要你自行添加。无论哪种方式,系统都会保存主机设置;在记录可以解析之前,链接仍使用共享主机,记录生效后会自动切换。参见自定义跟踪域名。
  • 将所有根域名重定向到某个网站,例如 https://yourcompany.com。如果其他域名已有重定向目标,系统会预先填入该网站。导入在某域名上连接第一个邮箱后,就会为该域名进行配置。如果已连接的邮箱供应商账户持有该域名,并支持转发,则直接使用供应商的转发功能,无需添加 DNS 记录。否则,在通过 DNS 证明你控制该域名后,由 Warmbly 自身提供重定向。参见根域名重定向和邮箱供应商持有的域名。

存在多个域名时,按域名修改会打开一个列表,显示每个域名的跟踪主机和网站,并根据统一设置预先填好。你可以单独修改某个域名的任一值,跟踪主机必须是该域名的子域名;也可以取消勾选以排除该域名,或点击重置恢复统一设置。修改统一设置时,所有尚未单独修改的域名都会随之更新。

某项设置无法应用时,不会导致该行失败:邮箱仍会连接,该行的提示会说明哪些设置未应用。在 API 中,这些配置对应 tracking_domains 和 redirects 对象,位于 options 中,两者都以域名为键,各最多支持 500 个域名。

导入在服务器上运行,关闭标签页不会中断。工作区内所有具有邮箱管理权限的人都能实时查看进度,邮箱列表也会随之逐步填充。服务器重启也不会丢失行:重启时正在连接的行会继续处理;如果该行已创建邮箱,系统会继续应用导入设置并完成连接,不会将其当作原本就存在的邮箱而跳过。之后可以通过对话框中的最近的导入,或账户页面上的导入按钮重新打开导入任务。

导入菜单会说明每个导入任务的情况:目前已检查多少邮箱、还有多少邮箱在等待供应商授权、有多少需要登录或已经失败。按钮上的徽标会统计需要你处理的导入任务数量。菜单打开期间,状态会实时更新。点击某个导入任务上的 ×,会从工作区所有人的列表中隐藏该任务;如果任务仍在运行,系统会先要求确认并停止它,已经连接的邮箱仍保持连接。隐藏的导入任务会保留历史记录。

系统同时处理 8 行,且对同一邮件托管服务商最多同时连接 3 个邮箱,因为服务商会限制同一地址发起的突发登录请求。每份凭据都与单独连接邮箱时一样,先在实际服务器上验证,成功后才保存,因此错误凭据会在这里失败,不会等到第一次发送时才暴露。检查会在计划分配给该邮箱的工作节点上运行,服务商看到的登录来源地址因此就是邮箱之后持续使用的地址。如果某个工作节点未响应,检查会转到其他节点;如果没有任何节点响应某行的检查,系统会再尝试几次,最后才报告为没有可用的工作节点。

超出工作区邮箱额度的行会以已达到邮箱数量上限失败;预览会说明当前额度可容纳多少邮箱。提高额度后,再重试这些行。

取消导入会停止尚未开始的行。已经在连接的行会继续完成。

失败项会按原因分组,并提供相应的解决方法。API 中每一行的 cause 也使用相同的键。

原因标题
missing_email未提供邮箱地址
invalid_email不是有效的邮箱地址
duplicate_row在文件中重复列出
missing_password未提供密码
unknown_servers未找到邮件服务器
invalid_value无法解析某个值
microsoft_signin通过 Microsoft 登录连接
google_signin通过 Google 登录连接
provider_unsupported服务商不支持通过 IMAP 连接
allowance_reached已达到邮箱数量上限
no_worker没有可用的工作节点
creator_removed导入任务所有者已离开工作区
vendor_unauthorized供应商拒绝了 API 密钥
vendor_unreachable供应商未返回凭据
vendor_authorizing供应商正在授权 Warmbly;这不是失败,邮箱行会自行连接
mailbox_grant_not_configured此处尚未配置管理员授权连接
google_delegation_unauthorizedGoogle 拒绝了全域委派
microsoft_consent_missing缺少 Microsoft 365 管理员的授权同意
mailbox_grant_mailbox_unreachable此账户没有邮箱
mailbox_grant_domain_mismatch域名不在授权覆盖范围内
mailbox_grant_inactive管理员授权已失效
internal发生了错误
google_app_password_requiredGoogle 需要应用专用密码
google_bad_credentialsGoogle 未接受该应用专用密码
google_imap_disabledGoogle 中的 IMAP 已关闭
google_web_login_requiredGoogle 要求先通过浏览器登录
microsoft_smtp_auth_disabledMicrosoft 365 中的 SMTP 登录已关闭
microsoft_security_defaultsMicrosoft 安全默认值阻止使用密码
microsoft_conditional_accessMicrosoft 登录策略阻止了此操作
microsoft_basic_auth_disabledMicrosoft 要求使用 Microsoft 登录
microsoft_bad_credentialsMicrosoft 未接受该密码
yahoo_app_password_requiredYahoo 需要应用专用密码
aol_app_password_requiredAOL 需要应用专用密码
icloud_app_password_requirediCloud 需要应用专用密码
zoho_app_password_requiredZoho 拒绝了该密码
fastmail_app_password_requiredFastmail 需要应用专用密码
yandex_app_password_requiredYandex 需要应用专用密码
imap_disabled此邮箱的 IMAP 已关闭
account_locked账户已锁定或禁用
too_many_logins登录尝试次数过多
auth_unavailable服务器在此处不接受密码
auth_refused服务器拒绝了登录
host_not_found服务器名称不存在
host_unreachable无法连接到服务器
port_blocked邮件端口似乎被屏蔽
tls_failed安全连接失败
cleartext_refused必须使用加密连接
timeout服务器未及时响应
temporary服务器要求稍后重试
server_declined服务器未接受连接

随后可以直接修正,无需重新上传:

  • 修正一行:输入新密码、应用专用密码、登录用户名或服务器信息,该行会重新排队。
  • 重试一组:将具有同一失败原因的所有行重新排队,也可以为它们统一提供一个新密码。
  • 下载失败的行:下载包含所有未连接行的 CSV,其中包括行号、上传时的各列(不含密码),以及 status、problem 和 how_to_fix。上传修正后的文件之前,请重新填入密码。

导入完成后的 7 天内可以重试。之后,这些行的凭据会被删除,需要再次导入。

  • 未连接行的凭据会使用工作区自己的加密密钥加密,在导入完成后保留 7 天,以便重试,之后删除。

  • 已完成的导入任务及其行数据,包括地址、状态、原因,以及下载文件中显示的非密码单元格,会在 30 天后删除。

  • 已连接邮箱的凭据,存储方式与其他邮箱完全相同。

  • 邮箱供应商连接,包括已加密的 API 密钥和 ID,会一直保留到你删除为止。管理员授权也是如此;其中保存覆盖的域名、租户信息,以及 Google 授权的管理员地址,但不保存令牌。

已保存的列映射和供应商连接会随工作区导出一起迁移。导入任务本身不会迁移,管理员授权也不会:只有工作区在所在实例中证明域名或组织控制权后,才会记录授权,单凭归档文件无法证明这一点。通过授权连接的邮箱本身会迁移。在目标实例中重新创建授权,然后从其目录中选中这些用户;它们会被列为已连接,因此“连接所有尚未在此处的用户”会跳过它们。你也可以导入包含这些地址的文件,并为现有邮箱选择更新。这两种方式都会为迁移过来的现有邮箱重新关联授权,保留其历史记录和设置,不会创建第二个邮箱。

导入功能通过 /emails/imports 向已登录会话提供,不向 API 密钥开放,因为其中包含密码。出于同样的原因,供应商连接(/emails/vendors)、管理员授权(/emails/grants)和发件域名(/emails/domains)也仅向会话开放。具体路由参见端点。POST /emails/onboarding/smtp-imap/bulk 仍然可用,可以在一次同步调用中连接最多 50 个 SMTP 和 IMAP 邮箱。

本页目录