Javascript 使用外部HTML文件中的电子邮件地址通过google apps脚本发送电子邮件

Javascript 使用外部HTML文件中的电子邮件地址通过google apps脚本发送电子邮件,javascript,html,google-apps-script,Javascript,Html,Google Apps Script,我正在谷歌应用程序中创建一个功能,我需要将我正在处理的电子表格以PDF格式发送电子邮件。用户应点击一个按钮,并打开一个对话框,通过该对话框,他们可以输入电子邮件地址、主题和消息,并从那里发送电子邮件 我使用以下HTML创建了电子邮件对话作为侧栏: <!DOCTYPE html> <html> <head> <link rel = "stylesheet" href="https://maxcdn.bootstrapcdn.com/b

我正在谷歌应用程序中创建一个功能,我需要将我正在处理的电子表格以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>

电子邮件地址
主题
消息
提交

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

您可以发送pdf,但谷歌应用程序脚本支持以下扩展名文件 .xls和.xlsx通过谷歌应用程序脚本在谷歌API的邮件服务中,其仅支持pdf和图像格式的附加文件 通过这个链接,你会得到更多的信息

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

1)为你的输入定义名称属性。目前,没有任何表单字段具有“name”属性。下面是它应该是什么样子的示例

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

使用google.script.run进行客户机-服务器通信。有关更多详细信息,请参阅文档

谢谢。实际上我需要它是PDF格式的。该表实际上是一个合同模板,我们需要发送给供应商,因此他们需要以PDF格式接收。我的主要问题是如何从表单中提取电子邮件地址,并在我的google apps脚本中将其用作var emailAddress我无法在此处找到u(我的主要问题是如何从表单中提取电子邮件地址,并在我的google apps脚本中将其用作var emailAddress)你能给我解释清楚吗?你是从工作表中提取邮件还是手动输入?如果你简单描述一下,我可以提供帮助。我已经在UI中添加了一个名为“电子邮件表单”的自定义菜单项,这会打开一个侧栏(用HTML编码,使用Google脚本环境中提供的HTML编辑器)。这里有电子邮件、主题和消息字段。因此,用户将输入他们希望文档到达的电子邮件地址、主题和消息,然后当他们单击表单上的提交时,这将运行脚本发送PDF。因此,在发送电子邮件的谷歌应用程序脚本中,我需要将var emailAddress设置为表单中输入的任何内容。好的,我得到了你的观点,你可以通过以下步骤实现这一点。这非常感谢!!!!还有一个问题-如何使用电子表格中的值预先填充HTML文件中的电子邮件输入。电子邮件地址列在单元格B15中,我试图按如下方式提取它:函数getEmail(){var s=SpreadsheetApp.getActive().getSheetByName(“模板”);var row=15;var column=2;var n=Utilities.formatString('%s',s.getRange(row,column).getValue());返回n;Logger.log(n);}不过,这并没有记录任何内容,因此无法进入下一阶段在HTML中填充它(我也不太确定!),这并不奇怪,因为您将“return”语句放在Logger.log()调用之前。“return”之后的任何内容都不会执行。我建议您花更多的时间学习JavaScript的基础知识。要将变量从GAS传递到客户端HTML,请选中此答案,以提供帮助。如果我最初的回答解决了你的问题(我想是的),请将问题标记为已解决。
<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>
function handleFormSubmit(form) {

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

}