问题描述
我想从我的 2 个邮件转发器中提取收到的 Gmail 邮件。
示例 1
>
>
您有来自
的询问姓名:约翰·史密斯
电子邮件:johnsmith@hotmail.com
电话:91234567
金额:800000
详情:1000
示例 2
>
>
您有来自网站 2 的查询
姓名:简·史密斯
电话: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 (将#修改为@)