使用外部HTML文件中的电子邮件地址通过谷歌应用程序脚本发送电子邮件

时间:2017-11-16 12:37:17

标签: javascript html google-apps-script

我在Google Apps中创建了一项功能,我需要通过电子邮件发送我正在处理的PDF格式的电子表格。用户应该点击一个按钮,打开一个对话框,他们可以输入电子邮件地址,主题和消息,并从那里发送电子邮件。

我已将电子邮件对话框创建为带有以下HTML的侧边栏:

<!DOCTYPE html>
<html>
    <head>
       <link rel = "stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css">
       <base target="_top">
    </head>
    <body>
       <form>
         <div class="form-group">
           <label for="exampleInputEmail1">Email address</label>
           <input type="email" class="form-control" id="exampleInputEmail1" ar.  ia-describedby="emailHelp" value="d.bage@group-miki.com">
         </div>
         <div class="form-group">
            <label for="subject">Subject</label>
            <input type="input" class="form-control" id="subject" value="Contract    renewal - Miki Travel">
         </div>
         <div class="form-group">
             <label for="subject">Message</label>
             <textarea class="form-control" rows="12" id="text"></textarea>
         </div>

         <button type="submit" class="btn btn-primary">Submit</button>
       </form>
    </body>
</html>

但是,当我编写脚本来发送电子邮件时,如何将此处的电子邮箱内容存储为变量以用于发送电子邮件?这同样适用于主题和信息本身。

2 个答案:

答案 0 :(得分:1)

1)定义输入的名称属性。目前,您的所有表单字段都没有“name”属性。这是它应该是什么样子的例子

   <input type="email" name="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" value="d.bage@group-miki.com">

这将允许您在提交表单时访问表单对象的属性(例如,form.email,form.subject等);

2)在客户端(html),您必须编写代码来处理'submit'事件。在结束之前添加以下内容&lt; / body&gt;标记:

<script>


window.onload = function() {


    document.getElementsByTagName('form')[0]
            .addEventListener('submit', function(e){

              e.preventDefault(); // intercept redirect to another page
              google.script.run.handleFormSubmit(this); // pass the form object to the server-side function. 



            });

 }



 </script>

您也可以使用jQuery来实现相同的结果。 这是我的服务器端(.gs)函数,它记录输入字段的内容

function handleFormSubmit(form) {

  Logger.log(form.email);
  Logger.log(form.subject);
  Logger.log(form.message);

}

使用google.script.run进行客户端 - 服务器通信。有关详细信息,请参阅文档https://developers.google.com/apps-script/guides/html/communication

答案 1 :(得分:0)

您可以发送pdf,但Google App脚本支持以下扩展程序文件 .xls和.xlsx在谷歌API的邮件服务中通过谷歌应用程序脚本它只支持pdf和图像格式附加文件 通过此链接,您将获得更多信息重新评论

https://developers.google.com/apps-script/reference/base/blob#getAs(String)

如果您仍然尝试附加.xlsx和.xls文件,则通过它不支持的错误 我已经遇到过这个问题,但您可以通过javascript下载xlsx格式。