我需要一个谷歌应用程序脚本,它可以执行以下操作: 如果我发送电子邮件到我的别名电子邮件,请发送电子邮件至myemail+expenses@gmail.com,它会在特定的Google电子表格中添加一行,其中包含该电子邮件中的数据。例如。时间戳,主题,身体的第一行 - 无论如何。
我发现有趣的文章描述了sending data to google spreadsheet的类似过程。
可能没有任何直接的方法,但是,它应该存在一些解决方法。
P.S。它应该只使用谷歌回声系统。没有php,服务器等。
答案 0 :(得分:2)
这有两个步骤。
首先创建一个触发器来运行邮件检查程序。
function switchTrigger() {
var isExist = false;
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
if ( /*<CONDITION>*/ ) {
isExist = true;
ScriptApp.deleteTrigger(triggers[i]);
}
}
if (!isExist) {
ScriptApp.newTrigger( /*<CONDITION>*/ ).create();
Logger.log('create');
}
}
然后你必须检查电子邮件。像这样的东西
function checkMail() {
var sh = SpreadsheetApp.openById(properties.targetSheetId).getSheets()[0];
var query = /* properties.queryString */ ;
var threads = GmailApp.search(query);
if (threads.length < 1) return;
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
if (messages[j].isStarred()) {
sh.appendRow([
new Date(),
messages[j].getFrom(),
messages[j].getPlainBody()
]);
messages[j].unstar();
}
}
}
}
小心。您必须设置Gmail过滤器,以便所有传入myemail+expenses@gmail.com
的广告都会在开头标记为星标。