我知道通过 Apps 脚本,我可以使用函数 getInboxThreads() 和 getMessages(),但它们基本上会获取整个消息,然后我可以读取每条消息的发件人地址。如果我的邮件少于 5000 封,这没问题,但我有 100K 封邮件,并且需要 很多个小时(使用 批量操作,因为 Google 有 API 调用每日限制)才能使用 getInboxThreads 和 getMessages 函数获取所有消息。
我只想获取索引,我的意思是,只有发件人地址,仅此而已。有没有更快(更优化)的方法来使用 Apps 脚本来完成此操作?或者也许还有其他方法可以做到这一点?
如果不使用 Apps 脚本,那么也许使用 Gmail API?或者也许使用 Google Takeout MBOX 文件?如何从 MBOX 文件中提取所有邮件的发件人地址?另请注意,100K 邮件 MBOX 文件的大小可能会超过 10 GB,并且桌面应用程序打开它可能会出现问题。
谢谢。
我尝试阅读 Apps Script 文档,但没有找到优化的方法。
您可以尝试这个示例脚本,它从您的 Gmail 收件箱获取电子邮件发件人。这包括线程内的内容,正如您的帖子建议您想要的那样
get sender addresses of all mails of inbox of Gmail
。
const myFunction = () => {
var threads = GmailApp.getInboxThreads();
threads.forEach(thread => {
var messages = thread.getMessages();
messages.forEach(email => {
var emailSenders = email.getFrom();
console.log(emailSenders);
});
});
}
该脚本可能需要更长时间才能运行,因为它取决于要签入收件箱的项目数量。