使用Google Apps脚本的Gmail短信通知:如何显示电子邮件的内容?

时间:2013-02-13 07:21:24

标签: gmail google-apps-script google-calendar-api

每次收到符合特定条件的电子邮件时,我都会处理短信通知;我决定使用Google App Scripts。

我特别受到以下文章https://developers.google.com/apps-script/articles/gmail_filter_sms的启发。我还检查了StackOverflow SMS Alerts for Important Mails in Gmail中的相关问题。

我通过在下次运行脚本时清理事件来改进developers.google.com中的原始脚本(每次运行脚本时我都会收到SMS警报)。该脚本目前正在使用标签'SendText'并在日历'AlertSMS'中创建事件。

但我收到的短信只包含电子邮件的主题和作者:我需要显示电子邮件的内容(或至少部分内容)。我试着把它添加到事件的描述中没有运气。有人知道怎么做吗?

下面,我的脚本代码:

function sendText() {
  var now = new Date().getTime();

  // Delete old events
  var events = CalendarApp.openByName('AlertSMS').getEvents(new Date('January 1, 2010 EST'), new Date(now-30000));
  for (i in events) {
    events[i].deleteEvent();
  }  

  // Get list of emails to set alert for
  var label = GmailApp.getUserLabelByName('SendText');
  var threads = label.getThreads();

  // Create new events for emails alert
  for(i in threads){
    var message=threads[i].getMessages()[0];
    CalendarApp.openByName('AlertSMS').createEvent('[SMS] '+threads[i].getFirstMessageSubject()+' -from- '+message.getFrom(),
      new Date(now+60000), new Date(now+60000), { description:message.getBody() }).addSmsReminder(0);
  }
  label.removeFromThreads(threads);
}

2 个答案:

答案 0 :(得分:5)

您可以使用(完全免费)IFTTT或(有点免费)Zapier等服务在接收符合条件的电子邮件时触发短信操作。

Here是一些IFTTT“食谱”,它将GMail连接到SMS。

答案 1 :(得分:0)

你真的不需要日历黑客向自己发送任意短信 - 每个移动提供商都有一封电子邮件发送到文本网关。例如,对于verizon,其5551234567@vtext.com(替换您的电话号码)与其他运营商存在类似情况。只需使用GmailApp通过电子邮件发送这些号码,您就可以发送任何内容。