【问题标题】:Can I use Google Apps Script to export specific information from a recurring email via Gmail?我可以使用 Google Apps 脚本通过 Gmail 从定期电子邮件中导出特定信息吗?
【发布时间】:2016-04-07 12:28:10
【问题描述】:
我想要一个脚本来查找具有特定主题行的电子邮件,然后在该电子邮件中查找信息并将其导出到文档、电子表格或以纯文本形式通过电子邮件发送给我自己。
我们通过电子邮件收到印刷服装的订单。
主题:
您的 T 恤订单
身体:
要打印的姓名:James
要打印的姓名:史蒂夫
要打印的姓名:Ryan
我希望有一种方法可以自行获取所有名称,然后将它们复制并粘贴到 Adobe Illustrator 并设置它们以供打印。
【问题讨论】:
标签:
javascript
email
google-apps-script
automation
gmail
【解决方案1】:
要将 Gmail 邮件保存到 Google 电子表格,您需要指定要导出匹配邮件的 Gmail search query 和 sheet ID。
从tutorial 中找到此示例代码。
var SEARCH_QUERY = "label:inbox is:unread to:me";
// Credit: https://gist.github.com/oshliaer/70e04a67f1f5fd96a708
function getEmails_(q) {
var emails = [];
var threads = GmailApp.search(q);
for (var i in threads) {
var msgs = threads[i].getMessages();
for (var j in msgs) {
emails.push([msgs[j].getBody().replace(/<.*?>/g, '\n')
.replace(/^\s*\n/gm, '').replace(/^\s*/gm, '').replace(/\s*\n/gm, '\n')
]);
}
}
return emails;
}
function appendData_(sheet, array2d) {
sheet.getRange(sheet.getLastRow() + 1, 1, array2d.length, array2d[0].length).setValues(array2d);
}
function saveEmails() {
var array2d = getEmails_(SEARCH_QUERY);
if (array2d) {
appendData_(SpreadsheetApp.getActiveSheet(), array2d);
}
}
你也可以查看这个相关的forum和tutorial。