一半群发操作者在导入阶段就丢联系人——不是因为封号,而是文件格式错误或 iPhone 上直接点开 VCF。「灌入 5 万联系人并立刻开始群发」是常见误区,会同时毁掉账号和名单。读完本文你将掌握双平台的准备、转换与分批导入流程。
VCF(Virtual Contact File,vCard)是纯文本。每个联系人包在一个块里:
BEGIN:VCARD
VERSION:3.0
FN:张伟客户
TEL;TYPE=CELL:+8613812345678
END:VCARD
关键细节:
3.0 或 4.0。2.1 标准不支持 UTF-8,中文名导入会变成乱码。原因是缺少显式 CHARSET=UTF-8 的编码冲突。+ 开头,国家码,最多 15 位。(138) 1234-5678 vCard 会原样保存——WhatsApp 无法识别,对这些记录的群发不会生效。FN(Full Name)——必填。无姓名可能无法导入或产生空记录。转换前表格最低结构:
| 姓名 | 号码 (E.164) | 前缀(可选) |
|---|---|---|
| 张伟客户 | +8613812345678 | Lead_01 |
| 李娜样本 | +8613812345679 | Lead_02 |
前缀用途。 在姓名加唯一标记——如 Lead_23_——活动后可在通讯录搜索一次找到整批导入并批量删除。无前缀则要从数千条里手工清理。
转换前:删空行、多余列,逐条检查号码格式。本地格式批量转 E.164——Excel 中 Ctrl+H 或公式 ="+86"&RIGHT(A2,11)(按目标市场调整国家码;海外华人场景可用 +1 等)。
三种可行路径:
1. Excel 宏 (VBA)。 从表格直接生成 VCF,完全可控。适合定期名单、可重复流程。GitHub 上示例很多。
2. Python + vobject 库。 对字段、编码、版本全控。适合大名单或非标准字段(分组、标签、备注)的操作者。
3. 在线转换器(tovcf.com 等)。一次性任务最快——上传 Excel,下载 VCF。方便,但有重要限制:把客户名单上传到第三方即把号码交给外人。他人客户数据可能违反隐私政策及您所在司法区的个人数据要求。在线转换器仅用于自有测试名单或明确允许的场景。
无论如何,导入前在文本编辑器中手动检查生成 VCF 的前 10–20 行。
Android 通过「联系人」应用原生读取 VCF。流程:
存哪里——有争议。 部分从业者偏好本地:一次灌入数千联系人时 Google 反欺诈触发风险较低。有人认为 Google 同步对 WhatsApp 算法更「自然」。无定论——按规模与可接受风险选择。
预算 Android 注意(< 6–8 GB 内存):导入 3 万+ 联系人文件时后台 android.process.acore 与 WhatsApp 同步可能 Out-of-Memory 崩溃。设备发热、进程循环重启。唯一办法——导入前拆分,而非之后。
常见误解:「VCF 发到 Telegram,一点——2 万联系人全存了。」并非如此。iOS 从即时通讯或邮件打开多联系人 VCF 时只显示第一张名片,其余数千条被静默忽略。
iPhone 可行方式:
通过 iCloud(推荐主路径):
通过 AirDrop: 从 Mac 或另一台 iPhone 发送 VCF → 确认添加联系人。适合小批次。
通过邮件: 邮件附件 VCF → iPhone 打开附件 →「添加所有联系人」。「添加所有」仅在 vCard 3.0 格式正确时出现。
iCloud 官方上限——5 万联系人。实践中无法一次文件灌满。
通过 iCloud.com 一次灌 3 万联系人时: 浏览器卡 10 分钟以上,然后超时——联系人未保存。常见做法:拆成 6 个文件各 5000 条,依次导入,批次间暂停约 10 分钟。
推荐批次:
| 平台 | 推荐批次 | 原因 |
|---|---|---|
| Android(旗舰) | 最多 10 000 | 原生导入稳定 |
| Android(入门,< 6 GB 内存) | 3 000–5 000 | 大批量 OOM 崩溃 |
| iPhone / iCloud.com | 2 000–5 000 | > 10 000 浏览器超时 |
在文本编辑器按 BEGIN:VCARD 手动拆分 VCF 或用脚本。每个输出文件必须以完整 END:VCARD 块结尾。
联系人进入通讯录且 WhatsApp 有权限时,应用后台运行 Contact Discovery——哈希号码并与 Meta 库比对。标准机制。
要点:
据从业者观察(Meta 不公布官方阈值),系统不仅跟踪发消息,还跟踪通讯录异常变更速度。历史仅 50 个联系人、一次同步新增 4 万的账号会进入严格预审(Sandbox)。此模式下通讯录的保护属性(作为「熟人」发送者的可见性)会被削弱,即使尚未开始群发。
实践规则: 大批量导入后不要立刻群发——尤其在新账号上。让账号「消化」同步。理想做法——分批导入拉长数小时,首条消息至少 24 小时后再发。
无 + 的号码: WhatsApp 无法识别无 E.164 国家码的联系人。通讯录里 13812345678 对群发不可见。转换前检查名单,而非之后。
姓名乱码。 原因——vCard 2.1 无显式 CHARSET=UTF-8。解决:始终生成 3.0 或 4.0。
iPhone 导入后联系人未出现。 原因——通过即时通讯打开 VCF,iOS 只存第一条。解决:iCloud.com 或 AirDrop 导入。
导入后 WhatsApp 看不到联系人。 原因——无国家码或格式非标准。解决:转换前在 Excel 规范化。
iCloud 导入超时。 原因——文件过大。解决:拆成 2000–5000 批次,间隔 10 分钟。
Android OOM 崩溃。 原因——内存 < 6–8 GB,文件 > 3 万条。解决:3000–5000 批次。
准备三列 Excel 模板(姓名、E.164、前缀),配置一种转换方式,用 500 条测试名单跑完整流程——从 Excel 到 WhatsApp 验证。约 20 分钟,可在真实活动前厘清技术细节。
实践规则:
一个 VCF 装数千联系人——不是一次导入,而是十几次顺序导入,每批之间暂停并检查。