繁体   English   中英

Google App Script - 使用当前时间发送电子邮件

[英]Google App Script - Send email with current time

我需要在 AppScripts 中创建一个函数,用当前时间将电子邮件发送到我的电子邮件。 后来,我必须创建一个触发器,强制函数每小时运行一次。 我知道这对你们中的大多数人来说会很容易,但我从编码开始,我一直坚持这个练习。

这是我写的:

function sendemail(){

function getDate() {
  var d = new Date();
  return (d.getMonth()+1) + "/" + d.getDate() + "/" + d.getFullYear();
}

function getTime() {
  var d = new Date(),
      offset = -d.getTimezoneOffset()/60,
      h = d.getUTCHours() + offset,
      m = d.getMinutes(),
      s = d.getSeconds();
  return h + ":" + m + ":" + s;
}

function getDateAndTime() {
   return getDate() + " " + getTime();

  Gmail.sendEmail({
     to: "luisjavier.diaziglesias@gmail.com",
     subject: "Hora actual",
     htmlBody: "La hora actual es +dateofDay <br/> Regards, Your robot",
   });
}

}

但它不起作用。 我有点沮丧,并且一直出现相同的错误:“找不到脚本函数:doGet”。

任何人都可以看看它并帮助我吗?

提前致谢,非常感谢。

最好的问候,路易斯

Web 应用程序需要doGet(e)doPost(e)函数来通过 url ( doGet() ) 或发布数据 ( doPost() ) 接受来自网页的输入。 每个函数中的参数e是传入 url/post 数据的“ 事件对象”。因此,您需要从doGet()调用电子邮件发送和日期生成函数。

这是逻辑的高级视图:

function doGet(e){
  var d = new Date();
  var date = getGate(d); // your getDate() function
  var time = getTime(d); // your getTime() function
  var datetime = date + " " + time;
  sendEmail(datetime); // a new function to send an email
}

也就是说,您可以使用Utilities.formatDate(new Date())此处的文档)更有效地获取时间戳,以正确的时区和正确的语言环境格式获取日期和时间。

通过发送电子邮件,您可以使用基本的邮件服务功能MailApp.sendEmail(recipient, subject, body) ,它会向recipient发送一封电子邮件,其中包含您传入的subjectbody指定的消息。 在这种情况下,这似乎就是您所需要的全部内容。 如果您需要与邮箱进行交互,那么您应该使用Gmail 服务,但如果您只需要从运行我们应用程序的帐户发送电子邮件,请坚持使用邮件服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM