Google apps script 使用';MailApp.sendmail';截短从Google工作表中获取的电子邮件地址

Google apps script 使用';MailApp.sendmail';截短从Google工作表中获取的电子邮件地址,google-apps-script,Google Apps Script,请原谅,这是我第一次询问stackoverflow,我更像是一名管理员,而不是任何类型的开发人员。我一直在寻找使用谷歌在其“”中提供的示例脚本。 它非常简单,可以启动并运行,但我发现它截断了从电子表格中获取的一个电子邮件地址值 比如说。请求者请求特定的休息日,填写表格并向批准者发出请求。审批人邮件会反弹,因为我们用于电子邮件命名约定的格式是第一种_lastname@xxxx.com. 所以最终发生的是它被截断为lastname@xxxx.com然后反弹。但是,当经理批准请求时,发送给请求者的返回

请原谅,这是我第一次询问stackoverflow,我更像是一名管理员,而不是任何类型的开发人员。我一直在寻找使用谷歌在其“”中提供的示例脚本。 它非常简单,可以启动并运行,但我发现它截断了从电子表格中获取的一个电子邮件地址值

比如说。请求者请求特定的休息日,填写表格并向批准者发出请求。审批人邮件会反弹,因为我们用于电子邮件命名约定的格式是第一种_lastname@xxxx.com.

所以最终发生的是它被截断为lastname@xxxx.com然后反弹。但是,当经理批准请求时,发送给请求者的返回电子邮件将正常运行,因此one MailApp.sendEmail例程可以正常运行,但其中一个无法正常运行

据我所知,此函数管理来自管理者电子邮件字段的值:

 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 });
}
我不太清楚为什么第一个示例会截断“经理电子邮件”中的值。任何建议都将不胜感激

谢谢
Ray

从上面的示例中,区别在于
d.emailAddress
d.manager\u email
设置。如果
d.emailAddress
设置,则批准通知电子邮件到
可以工作,如果更改为其中一个,则应该可以工作。


除此之外,如果这不是问题所在,则需要更多的代码,因为在发布代码部分之前,电子邮件会在某个地方被修改。无论在哪里设置了
设置
d

我都使用这个示例来提供我正在使用的应用程序80%的功能

更改电子邮件地址的代码为此行

manager_email = d[SETTINGS.MANAGERS_EMAIL_COLUMN_NAME].match(EMAIL_REGEX);
我不得不将此更改为:
manager\u email=d[SETTINGS.MANAGERS\u email\u COLUMN\u NAME]我无法获得“
.match”(var EMAIL_REGEX=new RegExp(“[a-zA-Z+0-9\.-]+@[a-zA-Z0-9\.-]+”,“I”);

为了更好地使用我的电子邮件地址。

这为我指明了正确的方向。在谷歌应用程序提供的脚本的另一部分中,他们对var“manager_Email”应用了一些格式。我删除了它,现在它正按预期工作。谢谢。
manager_email = d[SETTINGS.MANAGERS_EMAIL_COLUMN_NAME].match(EMAIL_REGEX);