如何通过Google站点上的按钮发送电子邮件(包含空间)



我需要编写一个按钮,该按钮在单击时在用户计算机上打开电子邮件。听起来很简单,但是我对此有很多麻烦,我正在使用Google站点,并且在HTML框中有代码允许使用CSS。我目前有一些打开电子邮件的按钮,但我无法在电子邮件中获得正常空间工作的空间。

我最初尝试制作一个表单按钮以提交一个网页,即在初始"?"之后的所有内容截止所有内容。在URL中。当我意识到自己在问什么时,很有意义。我添加了额外的隐藏元素,其中包含电子邮件中的标题和正文内容。通过使用此方法,我看不到一种允许空间放入URL的方法,而不会转换为其他东西。

下面的代码是当前的HTML,它以' '而不是'''''''''''和'%2520'而不是''。

产生电子邮件
<style>
    table {
        font-family: arial, sans-serif;
        border-collapse: collapse;
        width: 100%;
        max-width: 1000px;
    }
    td, th {
        border: 1px solid #dddddd;
        text-align: left;
        padding: 8px;
        vertical-align: middle;
    }
    input {  
        width: 100%;
    }
    .hidden {
        display:none;
    }
</style>
<body>
    <table>
        <tbody>
            <tr>
                <th>Heading 1</th>
                <th>Heading 2</th>
                <th>Heading 3</th>
            </tr>
            <tr class="even">
                <td>Example Text<td>
                <td>Example Text<td>
                <td><form action="mailto:example@email.com?"><input type="hidden" name="Subject" value="Title with lots of spaces"/><input type="hidden" name="body" value="Body with lots of spaces"/><input type="submit" value="Email" /></form></td>
            </tr>
            <tr>
                <td>Example Text<td>
                <td>Example Text<td>
                <td><form action="mailto:example@email.com?"><input type="hidden" name="Subject" value="Title%20with%20lots%20of%20spaces"/><input type="hidden" name="body" value="Body%20with%20lots%20of%20spaces"/><input type="submit" value="Email" /></form></td>
            </tr>
        </tbody>
    </table>
</body>

我在该示例中拥有的两个按钮应分别产生以下URL。

mailto:example@email.com?objective = title with lots of spaces&amp; body with lots of spaces

mailto:示例@email.com?objection = title%2520WITH%2520LOTS%2520OF%2520spaces&amp; hody%2520WITH%2520lots%2520OF%2520spaces

我意识到JavaScript可能会解决此问题,但是Google站点将HTML框的内容放入类似于IFRAMES的外壳中。这停止了从外壳内部打开的新标签,因此停止了电子邮件弹出窗口。

是否有一种方法可以使用我的解决方案表格提交空间,或者有一种简单的方法可以在Google网站上使用JavaScript打开电子邮件?

任何帮助都将不胜感激,我希望我要在平台上实现的目标。

我设法使它正常工作...

解决方案

我尝试使用JavaScript,但由于Google网站上的保护,这不允许我打开新标签。我找到了一篇文章,大多数人可能会发现有用:http://blog.ncce.org/2013/12/10/put-javascript-into-google-sites/通过使用此解决方案,您应该能够使用JavaScript导航到不同的网页,使用警报等。

我无法使用此方法。我正在为工作而这样做,而我的组织目前与Google有一份合同,该合同将所有对Google网站/Google Drive的访问限制在组织内的驱动器。因此,该站点无法访问我上传并产生错误的任何文件。

我的解决方案

我提出的解决方案以某种方式绕过了我对其他解决方案的问题,并允许我使用JavaScript将空间编码为%20(还允许我在加载后关闭额外的选项卡)。

>

我使用Google App脚本显示一个HTML元素,该元素包含一个使用JavaScript打开电子邮件URL的按钮。您可以在此处使用该指南将Google App脚本添加到您的网站:https://support.google.com/sites/answer/1224162?hl = en

Google Apps脚本对我来说是新的,所以几个注释:

  1. 我花了很长时间才找到东西... cog->管理站点 ->应用程序脚本
  2. 要运行脚本保存您的文件,将作为新版本(文件 ->管理版本 ->新版本)保存,然后发布这些更改(发布 -> Deploy as Web App)

我的代码

code.gs:

function doGet() {
    return HtmlService
    .createTemplateFromFile('Index')
    .evaluate();
}

index.html:

<!DOCTYPE html>
<style>
    table {
        font-family: arial, sans-serif;
        border-collapse: collapse;
        width: 100%;
        max-width: 1000px;
    }
    td, th {
        border: 1px solid #dddddd;
        text-align: left;
        padding: 8px;
        vertical-align: middle;
    }
    tr.even {
        background-color: #dddddd;
    }
    button {  
        width: 100%;
    }
</style> 
<html>
    <head>
        <base target="_top">
    </head>
    <body>
        <table>
            <tbody>
                <tr>
                    <th>Category</th>
                    <th>Descrition</th>
                    <th>Submit</th>
                </tr>
                <tr class="even">
                    <td>Example Text</td>
                    <td>Example Text</td>
                    <td><button onclick="var x = window.open('mailto:example@email.com?Subject=Title%20with%20lots%20of%20spaces&Body=Body%20with%20lots%20of%20spaces'); setTimeout(function () { x.close();}, 500);">Email</button></td>
                </tr>
            </tbody>
        </table>
    </body>
</html>

希望这对人们有所帮助。

相关内容

  • 没有找到相关文章

最新更新