Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Slack Webhook通过Google脚本发送电子邮件_Javascript_Email_Google Apps Script_Slack - Fatal编程技术网

Javascript 从Slack Webhook通过Google脚本发送电子邮件

Javascript 从Slack Webhook通过Google脚本发送电子邮件,javascript,email,google-apps-script,slack,Javascript,Email,Google Apps Script,Slack,使用Slack,并尝试设置传出Webhook,以便在用户键入特定关键字时发送电子邮件。Slack以以下格式发送帖子: token=XXXXXXXXXXXXXXXXXX team_id=T0001 team_domain=example channel_id=C2147483705 channel_name=test timestamp=1355517523.000005 user_id=U2147483697 user_name=Steve text=atsk: ticket#; ticket

使用Slack,并尝试设置传出Webhook,以便在用户键入特定关键字时发送电子邮件。Slack以以下格式发送帖子:

token=XXXXXXXXXXXXXXXXXX
team_id=T0001
team_domain=example
channel_id=C2147483705
channel_name=test
timestamp=1355517523.000005
user_id=U2147483697
user_name=Steve
text=atsk: ticket#; ticket details
trigger_word=atsk:
它将此帖子发送到使用以下Google脚本设置的URL:

function autoMail(sendmail) {
  var params = sendmail.parameters;

  if (params.token == "XXXXXXXXXXXXXXXXXX") {
    var textRaw = String(params.text).replace(/^\s*atsk\s*:*\s*/gi,'');
    var text = textRaw.split(/\s*;\s*/g);
    var email = "example@gmail.com";
    var subject = text[0];
    var message = text + "Ticket created by Autoslack Bot";
    MailApp.sendEmail(email, subject, message);

  } else {
    return;
  }
}
它以Web应用程序的形式发布,设置为“任何人,甚至匿名”,并被授予使用我的谷歌电子邮件的权限

因此,如果有人输入'atsk:T12345678;用户有问题。“它应该向发送电子邮件”example@gmail.com主题为“T12345678”和消息为“T12345678”;用户有问题。由Autoslack机器人创建的票证'


我认为这是正确设置的,但我无法获得发送到指定地址的电子邮件。有人能帮忙吗?

我建议创建一个测试函数,自己检查应用程序脚本部分,如下所示:

function testAutoMail() {
  var parameters={};
  parameters['text']='atsk: T12345678; User has an issue.';
  parameters['token']="XXXXXXXXXXXXXXXXXX";
  var arg = {};
  arg['parameters']=parameters;
  autoMail(arg);
}

function autoMail(sendmail) {
  var params = sendmail.parameters;

  if (params.token == "XXXXXXXXXXXXXXXXXX") {
    var textRaw = String(params.text).replace(/^\s*atsk\s*:*\s*/gi,'');
    var text = textRaw.split(/\s*;\s*/g);
    var email = "example@gmail.com";
    var subject = text[0];
    var message = text + "Ticket created by Autoslack Bot";
    Logger.log('MailApp.sendEmail('+email+', '+subject+', '+message+')');

  } else {
    return;
  }
}

然后查看记录器,看看它是否工作。

您是否收到任何错误消息?对谷歌脚本的调用是否通过了?请添加更多信息。