如何从外部API获取输入并通过电子邮件发送

时间:2019-10-29 07:54:13

标签: javascript html email-integration

在课堂上,我们面临的挑战是建立那些被视为“恶意”或不信任的网站。我们在单元中的安全部分

我正在建立一个网站,当有人进入该网站时,外部API(http://www.geoplugin.net/javascript.gp)会捕获基本信息,例如州,城市,邮政编码等。我想发送一个人进入时所收到的数据网站到电子邮件地址。但是,我对此有0个想法。

我查看了youtube视频,但没有发现任何东西可以使我接近该主题

这是API中的一些占位符。我想以geoplugin_city()为例,并通过电子邮件发送结果。

<script language="Javascript"> 
    document.getElementById("demo").innerHTML = geoplugin_city();
    console.log("Welcome to our visitors from "+geoplugin_city()+", "+geoplugin_countryName());
    console.log("Testing"+geoplugin_region());```

1 个答案:

答案 0 :(得分:0)

您想要的是将数据传递到服务器,然后使用电子邮件客户端库,例如GmailSendGrid发送到您想要的位置。

您真的不希望在客户端上执行此操作,因为要发送任何电子邮件,您需要进行身份验证...除非有一个API可以在没有特定用户的情况下将消息通过电子邮件发送给电子邮件帐户。但是您将需要一个API密钥,您不想将其硬编码到客户端代码中。

所以:

  1. 通过客户端JavaScript脚本收集数据。
  2. 将数据发送到服务器。
  3. 在服务器上使用客户端库(经过身份验证,至少使用API​​密钥,但取决于您选择的电子邮件提供商)来执行以下操作: 将您的数据发送到您指定的电子邮件地址。

要考虑的是批量处理数据转储。您可以登录到文件并定期读取该文件并将其转储到电子邮件中,而无需在用户每次访问您的网站时发送文件。这可能会很快吞噬您的API配额(通常会有配额,尤其是对于免费帐户而言)。这段时期将是您需要评估自己的东西。

如果您的初始上限被击中或关闭,您也可以与该提供商设置多封电子邮件。似乎很明显,但是您想在这里使用一次性电子邮件。