原谅我,因为这是我对stackoverflow的第一次查询,而且我是一个管理员,而不是任何类型的开发人员。我一直在寻找使用Google提供的示例脚本{39}。Transformation Gallery'。 它可以直接启动并运行,但我发现它会截断它从电子表格中获取的一个电子邮件地址值。
例如。请求者要求关闭特定日期,填写表单并向批准者发出请求。审批者邮件反弹,因为我们用于电子邮件命名约定的格式为first_lastname@xxxx.com。
所以最终发生的事情就是截断到lastname@xxxx.com并反弹。但是,当经理批准该请求时,返回给请求者的电子邮件正常,因此一个MailApp.sendEmail例程工作正常,但一个没有。
据我所知,此功能管理Managers Email字段中的值:
d.manager_email = manager_email
message = Utils.processTemplate(SETTINGS.PENDING_MANAGER_EMAIL, d);
subject = Utils.processTemplate(SETTINGS.PENDING_MANAGER_EMAIL_SUBJECT, d);
MailApp.sendEmail(manager_email,subject,"",{ htmlBody: message });
setRowData(_sheet, d);
根据批准将回复发送回请求者的工作人员似乎是这样的:
var approveByKey = function(k, user) {
var d = _getDataByKey(k);
d.state = APPROVED_STATE;
d.actor = user;
var message = Utils.processTemplate(SETTINGS.USER_APPROVAL_EMAIL, d);
var subject = Utils.processTemplate(SETTINGS.USER_APPROVAL_EMAIL_SUBJECT, d);
MailApp.sendEmail(d.emailAddress,subject,"",{ htmlBody: message });
if(SETTINGS.SEND_APPROVAL_NOTICE_EMAIL == 1) {
var message = Utils.processTemplate(SETTINGS.APPROVAL_NOTICE_EMAIL, d);
var subject = Utils.processTemplate(SETTINGS.APPROVAL_NOTICE_EMAIL_SUBJECT, d);
MailApp.sendEmail(SETTINGS.APPROVAL_NOTICE_EMAIL_TO, subject, "",{ htmlBody: message });
}
我不太清楚为什么第一个例子是截断从' manager_email'中取得的值。任何建议都非常感谢。
由于 射线
答案 0 :(得分:0)
从上面的例子中,差异是d.emailAddress
& d.manager_email
&如果SETTINGS.APPROVAL_NOTICE_EMAIL_TO
& d.emailAddress
SETTINGS.APPROVAL_NOTICE_EMAIL_TO
正在运行,如果更改为其中一个,它应该可以正常工作。
// Assuming this variable assignment is somewhere in the method of the top example
var d = _getDataByKey(k);
// Change the `manager_email` to d.emailAddress or to SETTINGS.APPROVAL_NOTICE_EMAIL_TO
MailApp.sendEmail(d.emailAddress, subject,"",{ htmlBody: message });
除此之外,如果这不是问题,则需要更多代码,因为电子邮件在已发布的代码部分之前被更改。已设置SETTINGS
或d
的任何地方
答案 1 :(得分:-1)
我正在使用此示例来提供我正在处理的应用程序的80%的功能。
更改电子邮件地址的代码就是这一行;
manager_email = d[SETTINGS.MANAGERS_EMAIL_COLUMN_NAME].match(EMAIL_REGEX);
我必须将其更改为:manager_email = d[SETTINGS.MANAGERS_EMAIL_COLUMN_NAME] ;
我无法获得" .match(var EMAIL_REGEX = new RegExp("[a-zA-Z+0-9\.-]+@[a-zA-Z0-9\.-]+", 'i');
"
与我的电子邮件地址配合使用。