微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 Gmail 邮件提取到 Google 表格

如何解决将 Gmail 邮件提取到 Google 表格

我想从我的 2 个邮件转发器中提取收到的 Gmail 邮件

示例 1

>

>

您有来自

的询问

姓名:约翰·史密斯

电子邮件:johnsmith@hotmail.com

电话:91234567

金额:800000

详情:1000

示例 2

>

>

您有来自网站 2 的查询

姓名:简·史密斯

电子邮件:janesmith@gmail.com

电话:91234567

我写的代码

function onopen() {
   const spreadsheet = SpreadsheetApp.getActive();
    let menuItems = [
        {name: 'Import',functionName: 'gather'},];
    spreadsheet.addMenu('Import Email',menuItems);
}
function gather() {
    let messages = getGmail();

    let curSheet = SpreadsheetApp.getActive();

    messages.forEach(message => {curSheet.appendRow(parseEmail(message))});
}
function getGmail() {
    const query = "subject:Enquiry OR subject:Enquiry2 AND newer_than:2d NOT label:done";

    let threads = GmailApp.search(query);

    let label = GmailApp.getUserLabelByName("done");
    if (!label) {label = GmailApp.createLabel("done")}

    let messages = [];

    threads.forEach(thread => {
        messages.push(thread.getMessages()[0].getPlainBody());
        label.addToThread(thread);
    });

    return messages;
}
function parseEmail(message){
    let parsed = message.replace(/\n*.+:/g,',')
        .replace(/\n/g,'')
        .split(',');

    let result = [0,1,2,3,4,5].map(index => parsed[index]);

    return result;
}

我的问题是它可能将 20 封电子邮件标记为“已标记”,但仅在我的 Google 表格中创建了 5 个新数据行。

抱歉,这是我第一次浏览 Apps 脚本,所以我很感激我能得到的任何帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。