这是我第一个尝试从头开始写的剧本。到现在为止还不太好所以我打算寻求一些帮助。
案例:我收到电子商务确认电子邮件从电子商务网站没有回复电子邮件地址。在电子邮件的身体,他们发送电子邮件地址从买家。我想发送一个自动邮件到身体的电子邮件地址。
我计划如何做到这一点(任何预防措施,以消除步骤将感谢)。
1.使用规则为传入电子邮件添加唯一标记。
1.使用该标签来识别Gmail中的电子邮件与脚本,去一个接一个,并提取我需要的信息.使用正则表达式与电子邮件正文内容提取电子邮件地址我需要发送自动电子邮件.计划是得到:主题,日期,电子邮件从正文.
1.将所有信息写入电子表格。
1.摆脱独特的标签信息,以防止重复运行。
1.然后使用表单骡子插件发送电子邮件从电子表格。
到目前为止,我已经处理了步骤1(简单),并一直在努力与步骤2和3(我不是一个编码器,我可以阅读,unstrand和hack。从头开始写作是一个完全不同的事情)。
与脚本我提取信息到电子表格,与插件我使用的信息从电子表格发送电子邮件。
这是我写的代码到目前为止。我已经离开了regex部分以后,因为我甚至不能写任何东西到电子表格。一旦我得到的工作,我开始在regex和“删除标签”方面的脚本工作。
function myFunction() {
function getemails() {
var label = GmailApp.getUserLabelByName("Main tag/subtag");
var threads = label.getThreads();
for (var i = 0; i < threads.length; i++) {
var messages=threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var message=messages[j];
var subject=message.getSubject();
tosp(message);
}
}
}
function tosp(message){
var body=message.getBody()
var date=message.getDate();
var subject=message.getSubject();
var id= "my spreasheet id";
var ss = SpreadsheetApp.openById(id);
var sheet = ss.getActiveSheet();
sheet.appendRow(subject,date,body);
}
}
字符串
如果你能帮忙的话,我将不胜感激。
谢谢塞巴斯蒂安
2条答案
按热度按时间tvz2xvvm1#
下面是我编写和测试的代码,它可以很好地执行您提到的步骤2,3和4。
字符串
代码中的一个错误是
appendRow
函数接受[ ]
括号内指定的元素数组。根据您附加此脚本的位置,您的代码行:
型
如果脚本是在要记录这些电子邮件的电子表格的脚本编辑器中编写的,则不需要。但是,如果该电子表格中有多个表格,则可以替换我的行
型
通过
型
另一个建议是,当前代码将以HTML格式给你给予消息。因此,如果你想得到你所看到的纯文本消息,用途:
型
现在你可以为正则表达式编写另一个函数,并将消息
msg
传递给它。希望这能有所帮助!polkgigr2#
我做了一个现成的脚本,解释如何使用它(从一开始),以及为那些谁需要更多的帮助。
它在gmail-to-google-sheets-script存储库中。只需阅读内容并按照说明操作。
如何使用
SEARCH_QUERY
上的值替换为您的真实的查询(首先在gmail上进行搜索,将搜索项复制并粘贴到那里)saveEmails
(靠近“运行”和“调试”按钮)更改字段
如果你想保存不同的消息属性,看看gmail-message class,用铅笔修改你的脚本文件下面的代码。️