如何在InboxSdk中区分To、Cc、Bcc类型的邮件收件人
如何在InboxSdk中区分To、Cc、Bcc类型的邮件收件人
嗨,我完全懂你现在的困扰——用getRecipientEmailAddresses()和getRecipientsFull()确实会把To、Cc、Bcc所有收件人混在一起返回,根本没法直接区分类型。别担心,InboxSdk其实早就为这个场景提供了专门的方法,完美解决你的问题!
直接获取指定类型的收件人
InboxSdk的MessageView对象提供了按类型拆分的获取方法,分为两类:返回纯邮箱地址数组的方法,和返回完整收件人对象数组的方法,刚好匹配你的需求:
1. 获取完整收件人对象(带邮箱地址字段)
getToRecipientsFull():仅返回To类型的完整收件人数组(格式和你用的getRecipientsFull()完全一致)getCcRecipientsFull():仅返回Cc类型的完整收件人数组getBccRecipientsFull():仅返回Bcc类型的完整收件人数组
2. 获取纯邮箱地址数组
getToRecipientEmailAddresses():仅返回To类型的邮箱地址数组getCcRecipientEmailAddresses():仅返回Cc类型的邮箱地址数组getBccRecipientEmailAddresses():仅返回Bcc类型的邮箱地址数组
示例用法
比如你想单独获取Cc类型的完整收件人数据,调用后会得到类似这样的结果:
// 调用Cc类型收件人方法 const ccRecipients = messageView.getCcRecipientsFull(); // 返回示例(仅包含Cc类型收件人) [ { "emailAddress": "ghj@jui.kk" }, { "emailAddress": "fwk@fgg.mn" } ]
如果你需要一次性整合所有类型的收件人并明确区分,也可以自行组合这些方法的结果:
const categorizedRecipients = { to: messageView.getToRecipientsFull(), cc: messageView.getCcRecipientsFull(), bcc: messageView.getBccRecipientsFull() }; // 输出带类型标识的完整收件人数据 console.log(categorizedRecipients);
这样你就能精准区分每个收件人属于To、Cc还是Bcc类型啦,不用再从混合数组里费劲筛选~
备注:内容来源于stack exchange,提问作者Harsh




