[英]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
发送一封电子邮件,其中包含您传入的subject
和body
指定的消息。 在这种情况下,这似乎就是您所需要的全部内容。 如果您需要与邮箱进行交互,那么您应该使用Gmail 服务,但如果您只需要从运行我们应用程序的帐户发送电子邮件,请坚持使用邮件服务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.