Javascript 在Google AppMaker中发送电子邮件时出错
我想在用户单击按钮时发送电子邮件通知。该按钮将调用Javascript 在Google AppMaker中发送电子邮件时出错,javascript,gmail-api,google-app-maker,Javascript,Gmail Api,Google App Maker,我想在用户单击按钮时发送电子邮件通知。该按钮将调用sendmail(小部件)函数并调用客户端脚本,如下所示: function sendEmail(widget){ var item = widget.datasource.item; google.script.run .withFailureHandler(function(error) { console.text = error.message; }) .withSuccessHandler(
sendmail(小部件)
函数并调用客户端脚本,如下所示:
function sendEmail(widget){
var item = widget.datasource.item;
google.script.run
.withFailureHandler(function(error) {
console.text = error.message;
})
.withSuccessHandler(function(result) {
console.text = 'succeed';
})
.sendEmails(item);
}
然后,它将通过项目
传递数据源,并从服务器脚本调用发送电子邮件(项目)
函数,如下所示:
function sendEmails(item){
var to = item.OwnerEmail;
var subject = 'Please Review';
var body = 'hello<br/>my name is Muhammad Alif bin Azali';
MailApp.sendEmail({
to: to,
subject: subject,
htmlBody: body,
noReply: true
});
}
函数发送电子邮件(项){
var to=item.OwnerEmail;
var主题='请审查';
var body='你好
我的名字是穆罕默德·阿利夫·本·阿扎利';
MailApp.sendmail({
致:致,,
主题:主题,,
htmlBody:body,
诺雷普利:是的
});
}
但是,当我点击按钮时,我得到了以下错误。有什么帮助吗
看起来您的邮件正文需要转换为HTML正文 这是样品
function sendEmails(item){
var to = item.OwnerEmail;
var subject = 'Please Review';
var body = 'hello<br/>my name is Muhammad Alif bin Azali';
var template = HtmlService.createTemplate(body);
var htmlBody = template.evaluate().getContent();
MailApp.sendEmail({
to: to,
subject: subject,
htmlBody: htmlBody ,
noReply: true
});
}
函数发送电子邮件(项){
var to=item.OwnerEmail;
var主题='请审查';
var body='你好
我的名字是穆罕默德·阿利夫·本·阿扎利';
var template=HtmlService.createTemplate(主体);
var htmlBody=template.evaluate().getContent();
MailApp.sendmail({
致:致,,
主题:主题,,
htmlBody:htmlBody,
诺雷普利:是的
});
}
不幸的是,您无法将任何需要的参数传递给服务器函数。与服务器的通信有一些:
…大多数类型是合法的,但不是日期、函数或DOM元素
…创建循环引用的对象也将失败
应用程序制造商的记录肯定违反了这些限制
有不同的策略来处理这个限制,其中之一是将记录的键作为函数的参数传递
//客户端脚本
功能sendEmail(小部件){
var item=widget.datasource.item;
google.script.run
...
.发送电子邮件(项目编号);
}
//服务器脚本
发送电子邮件功能(itemKey){
var item=app.models.MyModel.getRecord(itemKey);
...
}
您可能无法在item对象中获得正确的值。尝试添加Logger.log(item.OwnerEmail)
aftervar to=item.OwnerEmail代码>2018年5月23日星期三14:07:52 GMT+800muhammadalifazali@airasia.comE Wed May 23 14:07:52 GMT+800 2018因属性中的值非法而失败:aitem.OwnerEmail保留正确的值如果是相同的问题,请删除此值-?邮件发送代码完美。似乎还有其他问题。你以前收到过Appmaker的电子邮件吗?是的,我收到过。“item”变量是否传递了正确的值?我不太确定,非常感谢你,帕维尔,现在我明白为什么了,它工作得很好,再次感谢